問題タブ [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.
ruby-on-rails - named_scope -- フィールドが null でも空/空白でもないエントリの検索
現在私が持っている、null または空/空白ではないレコードのみを見つけたいです。
(ギャラリーは文字列です) しかし、ユーザーがタイトルを入力して削除すると、この空の文字列が結果に含まれます。
明確にするために、フィールドにテキストがあるエントリのみを選択できるようにしたい...
ruby-on-rails - これらの named_scopes が重複した INNER JOIN を引き起こしているのはなぜですか?
awesome_nested_set
プラグインを使用して階層組織の権限を追跡するために使用しているモデルがあります。named_scope
2 つの がチェーンされていると、重複が発生するという問題が発生していINNER JOIN
ます。
2 つnamed_scope
の はAccount
モデル内にあり、ユーザーおよびグループによってアカウントをフィルター処理するために使用されます。
これらは両方ともnamed_scope
join する必要がありmemberships
ますが、重複せずにそれを行うことができるべきではありませんか? それらが連鎖すると、mysql は次のエラーで爆発します。
ruby-on-rails - named_scope のリファクタリングを支援する
次のnamed_scopeがあります:
条件を次のようにリファクタリングする必要があります。
条件を変更するための構文にあまり運がありません。誰かが親切に助けてくれますか?
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.
ruby-on-rails - Rails - モデル内の現在のオブジェクトを参照
認めざるを得ませんが、質問が正しいかどうかさえわかりません...
私のアプリには、より効率的な検索を構築するための名前付きスコープがたくさんあります。私が仕事に就けないのはこれです:
=> 現在のカテゴリとその子孫のすべての製品を検索したい。「ancestry」gem を使用してツリーを構築すると、クラス レベルで名前付きスコープが提供されます。
したがって、named_scope を次のようにするのは良い考えだと思いました。
また
どちらもコントローラーとヘルパーで機能しますが、モデルでは機能しません...そして、私が間違っていなければ、「@category」(コントローラーで定義しています) はモデルでは使用できません。
それを利用可能にするための簡単な方法はありますか?
ご協力いただきありがとうございます!
ヴァル
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: 私の直感を検証するために使用できるミニ テスト ケースはありますか?
ruby-on-rails - named_scopeとnamed_scope+lambdaの違いは何ですか
named_scopeとnamed_scope+ラムダRubyonRailsコードステートメントの違いは何ですか?
と
ruby-on-rails - Rails モデルのデフォルト条件
というフィールドを持つモデルがありますdeleted
。これは、削除されたアイテムをマークするために使用されます。
したがって、通常、deleted = false
アイテムを持っているものにクエリを実行し、特別なケースでは、削除されたアイテムをリストして復元する必要があります。
それは可能ですか?私が今できることは、名前付きスコープを使用することです:conditions => {:deleted => false}
Item.other_named_scope
すると、削除されていないアイテムをすべて見つけることができるようにするためのより良い方法はありますか?
ruby-on-rails - has_manyアソシエーションで「子なし」のnamed_scopeを作成する
投稿がゼロのブログ用にnamed_scopeが欲しいのですが。
以下は動作しません。
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 で動作するように変更するにはどうすればよいですか?