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

ruby-on-rails-3 - 親オブジェクトを find() するときに has_many 関係をスコープする最良の方法

クイズ アプリケーションでデフォルト スコープと名前付きスコープを理解するのに少し苦労しています。私はRails 3.0を使用しています。

私はモデル化するQuestionモデルを持っていhas_many UserResponseます。

Questionご質問textありましたら可能answer_idsです。 およびにUserResponse結合user_idします。question_idanswer_id

ユーザーに表示するときにfind()QuestionすべてをプルしたくありませんUserResponse。デフォルトではUserResponse、現在の質問のみをプルして、user_idこの質問に既に回答しているかどうかを確認したいと思います。

Questionまたはでスコープを作成してUserResponseこれを達成する にはどうすればよいですか?

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

ruby-on-rails - Rails 3.1.3 スコープ外スコープ

これに関する多くの投稿を見てきましたが、私の問題を解決するものはないようです。私は次のdefault_scopeようなモデルを持っています:

inactive他の (通常の) スコープがあり、 を使用してスコープを作成したいと考えていますunscoped。スコープとして定義したいのですが、クラスメソッドとして定義されている場合にのみ機能します:

私が見逃した方法はありますか、それともクラスメソッドを使用してこのスコープを定義する必要がありますか?

0 投票する
5 に答える
11278 参照

ruby-on-rails - Rails の ActiveAdmin で default_scope をオーバーライドする方法

ActiveAdmin に登録されたリソースでは、モデルに対して次の default_scope が定義されています。

これにより、列のタイトルをクリックして、リソースのインデックス ページの並べ替えを変更できなくなっているようです。この既定の範囲を維持しながら、Active Admin の並べ替えを機能させる方法はありますか?

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

ruby-on-rails-3 - デフォルト スコープ Mongomapper

さまざまな方法でフィルター処理する必要がある同じコレクションを使用する大きなお尻のコレクションがあります

そして例えばこれ。

どちらも同じログを使用しますが、それぞれにtypeフィールドのデフォルト検索が必要です。

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

ruby-on-rails - デフォルトのスコープ (具体的には順序) のみをオーバーライドし、Rails では他に何もオーバーライドしません

したがって、基本的にBookAuthorの 2 つのクラスがあります。本は複数の著者を持つことができ、著者は複数の本を持つことができます。ブックには、次の既定のスコープがあります。

著者のショーページで、その著者に関連するすべての本をリストしたいので、次のように言います...

これまでのところ、すべて順調です。author#show ページには、その著者に属するすべての書籍が発行日順に一覧表示されます。

本の人気度でソートできるgemも開発中です。

問題は、並べ替えを試みるたびに、default_scope が常に邪魔になることです。そして、その前にスコープを解除しようとすると、著者の関係が取り除かれ、データベース内のすべての本が返されます。例えば

ActiveRelation except() メソッド を使用してこのようなことを行うことができるかどうか疑問に思っています (これは機能するはずですが、機能しません。順序を無視しますが、default_scope 順序の場合は除きます)

なぜこれが機能しないのかについてのアイデアはありますか? これを別の方法で機能させる方法についてのアイデアはありますか? default_scope を取り除くことができることはわかっていますが、これを行う別の方法があるかどうか疑問に思っています。

0 投票する
3 に答える
790 参照

ruby-on-rails - Rails 3 のオーナー フィルター モデル オブジェクト

ActiveRecord モデルでフィルタリングを行う必要があります。すべてのモデル オブジェクトを owner_id でフィルタリングしたいと考えています。私が必要とするのは、基本的に ActiveRecord の default_scope です。

しかし、モデルからアクセスできないセッション変数でフィルタリングする必要があります。私はいくつかの解決策を読みましたが、どれも機能しません。基本的に、default_scopeを宣言するときにセッションを使用できると言っています。

これはスコープの私の宣言です:

シンプルですね。しかし、メソッド session does not exist と言って失敗します。

あなたが助けてくれることを願っています

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

ruby - Sequel :: Modelの単一テーブル継承(Ruby ORM)

providersデータベースに、というタイプ列で呼び出されるテーブルがありますprovider_typeprovider_type次のいずれかになります。

  • 中心
  • スポンサー

呼び出されたクラスとSequel::Model呼び出されたクラスを継承するクラスを作成したいのですが、結果として得られるメソッドは、またはによってそれぞれのクラスのすべてのクエリをスコープします。CenterSponsorprovider_type = 'center'provider_type = 'sponsor'

私がこれを行うことができることは100%必須ではありませんが、可能であれば理想的です。

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

ruby-on-rails - :include オプションを指定した default_scope rails 3.2

Rails3 アプリを 3.2.6 にアップグレードしています。非推奨の default_scope オプションに問題があります。

私は、campaign_sites を介した多対多の関係を持つキャンペーンとサイトのモデルをいくつか持っています。

これは Rails 3.0.10 で正常に動作していますが、3.2.6 にアップグレードした後、この行で次の mysql エラーが発生します。

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

ruby-on-rails - Mongoid default_scope

Mongoid によって駆動されるモデルに default_scope を設定しました。

私が見つけたとき、問題はありません:

現在のテナントの学生を返します

生徒を作成するとき:

ゼロを返します

現在のテナントを割り当てません

しかし、もしそうなら:

できます

としても:

それは正常な動作ですか?

Thx仲間

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

ruby-on-rails-3 - Rails default_scope は例外をスローします: undefined method abstract_class? オブジェクト:クラス用

アプリケーションで論理削除を適用したいと思います (レコードを完全に削除するのではなく、削除済みとしてマークされているだけです)。デフォルト値trueですべてのテーブルに利用可能な列を追加しました。ここで、すべてのモデルに対して次のコードを書くための共通の場所が必要です。

ActiveRecord::Base を拡張する参照Railsを使用して、monkey patch を使用して上記を行うことにしました。config/initializer/active_record_patch.rb に作成されたモンキー パッチ ファイル:

default_scope を追加すると、次のエラーが発生します

/gems/ruby-1.9.2-p290/gems/activerecord-3.0.9/lib/active_record/base.rb:1212:abstract_class class_of_active_record_descendant': undefined method?」オブジェクト: クラス (NoMethodError) の場合