問題タブ [default-scope]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
131 参照

ruby-on-rails - ActiveModel::MissingAttributeError レール 3.2.12 で default_scope を使用

default_scopeページに表示される列を柔軟に使用したいと考えていcustomer indexます。たとえば、ユーザーに customer が表示されないようにする場合は、ページからphone#削除phonedefault_scopephone空白のままにしindexます。このアイデアはオンラインから得て、テストを行っています。missing attribute:phoneただし、を選択するとエラーが発生しますphone。モデルdefault_scope内の定義は次のとおりです。customer

インデックスページ:

エラーは次のとおりです。

index(または任意のビュー ページ)で意図的に選択しないことで空の列を表示することは可能ですか? 可能であれば、それdefault_scopeを達成するための適切なツールはありますか? ありがとう。

0 投票する
2 に答える
620 参照

ruby-on-rails - default_scope のコントローラー変数へのアクセス

私のアプリはサブドメインに基づいています。各マネージャーは、自分のオークションのみを表示する独自のサブドメインを持っています。私は持っている:

アプリがサブドメインを使用してアクセスされた場合、次のことを行う before_filter があります。

そして私のロットのdefault_scopeで、次のことをしたいと思います:

そのため、ウェブサイトのどこにいても、マネージャーのオークションに属するロットのみを表示します.

問題は、モデルの @loaded_manager にアクセスできないことです。これを行うための最良の方法は何ですか?

http://railscasts.com/episodes/388-multitenancy-with-scopes?view=commentsはこの問題を解決します!

0 投票する
1 に答える
74 参照

ruby-on-rails - レールで検索して保存するための異なるdefault_scopes(または私が持っているものよりも優れた実装)?

認証済みと未認証の2種類のユーザーを持つレールアプリがあります(データベース内のemail_authenticated:booleanで区切られています)。ユーザーを作成するときは認証されないようにしたいのですが、機能を実行するたびに、デフォルトで認証済みリストに対してそれを実行したいと考えています。最初に default_scope を指定してこれを実行しようとしましたが、これによりレコードの保存方法が変更され、デフォルトが上書きされることがわかりました (たとえば、例ではデフォルトが false ではなく true に変わります)。

スコープを検索にのみ適用する方法、または私が目指していることを達成するためのよりスマートな方法について誰かが提案していますか? デフォルトのスコープを削除する場合、検索するたびに User.authenticated を呼び出す必要はありません。同様に、保存するたびに User.unauthenticated を呼び出したくありません。

0 投票する
0 に答える
104 参照

ruby-on-rails - has_one関連付けを使用する場合、Rails 4はdefault_scopeを尊重しません

このようなデフォルトのスコープを持つモデルクラスがあります

User.first.avatarタイプがアバターであ​​るユーザーが作成した最初の添付ファイルを返すことを期待していました。代わりに、(タイプに関係なく) ユーザーの最初の添付ファイルを取得しています。

タイプを機能させるには、タイプを手動で指定する必要があります。

関連付けが default_scope を尊重しないのはなぜですか? 期待される結果を返すことを追加する必要がAvatar.allあります(タイプが「アバター」の場合のみ)。