問題タブ [named-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 投票する
3 に答える
766 参照

ruby-on-rails - named_scope -- フィールドが null でも空/空白でもないエントリの検索

現在私が持っている、null または空/空白ではないレコードのみを見つけたいです。

(ギャラリーは文字列です) しかし、ユーザーがタイトルを入力して削除すると、この空の文字列が結果に含まれます。

明確にするために、フィールドにテキストがあるエントリのみを選択できるようにしたい...

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

ruby-on-rails - これらの named_scopes が重複した INNER JOIN を引き起こしているのはなぜですか?

awesome_nested_setプラグインを使用して階層組織の権限を追跡するために使用しているモデルがあります。named_scope2 つの がチェーンされていると、重複が発生するという問題が発生していINNER JOINます。

2 つnamed_scopeの はAccountモデル内にあり、ユーザーおよびグループによってアカウントをフィルター処理するために使用されます。

これらは両方ともnamed_scopejoin する必要がありmembershipsますが、重複せずにそれを行うことができるべきではありませんか? それらが連鎖すると、mysql は次のエラーで爆発します。

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

ruby-on-rails - named_scope のリファクタリングを支援する

次のnamed_scopeがあります:

条件を次のようにリファクタリングする必要があります。

条件を変更するための構文にあまり運がありません。誰かが親切に助けてくれますか?

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

sql - How do I write a named scope to filter by all of an array passed in, and not just by matching one element (using IN)

I have two models, Project and Category, which have a many-to-many relationship between them. The Project model is very simple:

The :in_categories scope takes an array of Category IDs (as strings), so using this scope I can get back every project that belongs to at least one of the categories passed in.

But what I'm actually trying to do is filter (a better name would be :has_categories). I want to just get the projects that belong to all of the categories passed in. So if I pass in ["1", "3", "4"] I only want to get the projects that belong to all of the categories.

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

ruby-on-rails - Rails - モデル内の現在のオブジェクトを参照

認めざるを得ませんが、質問が正しいかどうかさえわかりません...

私のアプリには、より効率的な検索を構築するための名前付きスコープがたくさんあります。私が仕事に就けないのはこれです:

=> 現在のカテゴリとその子孫のすべての製品を検索したい。「ancestry」gem を使用してツリーを構築すると、クラス レベルで名前付きスコープが提供されます。

したがって、named_scope を次のようにするのは良い考えだと思いました。

また

どちらもコントローラーとヘルパーで機能しますが、モデルでは機能しません...そして、私が間違っていなければ、「@category」(コントローラーで定義しています) はモデルでは使用できません。

それを利用可能にするための簡単な方法はありますか?

ご協力いただきありがとうございます!

ヴァル

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

ruby-on-rails - named_scope 条件とタイムゾーンの不一致

セットアップは次のとおりです。

そして時々初期化されます:

質問...これらのnamed_scopeは同じ正確なSQLを生成しますか?

最初の例では end_date を使用し、2 番目の例では end_date.utc を使用しています。

(注意が必要かもしれません.... DBサーバーのOSはCDTに設定されており、DBは内部的にUTCを使用しています.RailsサーバーのOSはCDTに設定されており、アプリケーションインスタンスはEDTに設定されています.これはおそらくこれらのシステムを構成する最適な方法ではありませんが、当面の問題は ActiveRecord 出力です。)

私の直感では、最初の例ではローカル TZ の時刻文字列が生成され、2 番目の例では UTC-0 が生成されます。

PS: 私の直感を検証するために使用できるミニ テスト ケースはありますか?

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

ruby-on-rails - named_scopeとnamed_scope+lambdaの違いは何ですか

named_scopeとnamed_scope+ラムダRubyonRailsコードステートメントの違いは何ですか?

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

ruby-on-rails - Rails モデルのデフォルト条件

というフィールドを持つモデルがありますdeleted。これは、削除されたアイテムをマークするために使用されます。

したがって、通常、deleted = falseアイテムを持っているものにクエリを実行し、特別なケースでは、削除されたアイテムをリストして復元する必要があります。

それは可能ですか?私が今できることは、名前付きスコープを使用することです:conditions => {:deleted => false}

Item.other_named_scopeすると、削除されていないアイテムをすべて見つけることができるようにするためのより良い方法はありますか?

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

ruby-on-rails - has_manyアソシエーションで「子なし」のnamed_scopeを作成する

投稿がゼロのブログ用にnamed_scopeが欲しいのですが。

以下は動作しません。

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

ruby-on-rails - postgreSQL での Rails named_scope エラー、SQLite で動作

ユーザーをロールに関連付ける次のモデルがあります。

UserRoleAssignment の名前付きスコープは SQLite では機能しますが、postgreSQL では機能しないため、次のエラーが発生します。

名前付きスコープのさまざまなバリエーション (:having 句の追加、追加のグループ化の追加) を試しましたが、何かを追加するたびに、postgreSQL で新しいエラーが発生するため、元の単純な名前付きスコープに戻りました。最初のスコープのポイントは、「admin」という名前のロールを持つすべてのユーザーを取得することであり、2 番目のスコープは、「admin」以外のロールを持つユーザーを取得することです。これを他のモデルの検索ロジックで使用すると、SQLite では期待どおりに動作しますが、postgreSQL では動作しません (例: User.user_role_assignments_has_admin_role)。

これらの named_scopes を postgreSQL で動作するように変更するにはどうすればよいですか?