2013-10-09 7 views

答えて

15

。 また、注意してください:コール可能なものが最初のものでなければなりません(条件が最後になる傾向があります)

+0

完全に私のために働いた。また、 'object'変数の名前をより多くのドメイン固有の名前に変更することをお勧めします。 – raeno

+1

ちょうど私がこれを「必要な」場所に何度も繰り返し使用していて、それが魅力的に機能していると付け加えたい。答えに感謝@トーマス。 – TJChambers

+0

これをレール3.2で行う方法は? –

0

私はこのような何かを開始したい:オブジェクトは、あなたの実際のインスタンスである

has_many :subclass_point_analytics, -> (object) { where("assessment_id = ?", object.assessment_id) }, :foreign_key => 'gid', :dependent => :destroy 

:ちょうどこれを行う

has_many :subclass_point_analytics, -> { where("assessment_id = #{self.send(:assessment_id)}") }, :foreign_key => 'gid', :dependent => :destroy 
+0

これは私が始まった場所ですが、proc要素がないので動作しません。私の質問は、変換中にproc要素を保持する方法です。 – TJChambers

+0

Procが必要ですら奇妙に思えます。 subclass_point_analyticsが同じモデルに属していても複数のassessment_idを持つことは可能ですか?もしそうなら、あなたはどのように協会でそれらを取り戻すでしょうか?条件を完全に削除するのは大丈夫なようです。 – davidfurber

+0

複数の評価を持つことはできませんが、assessment_idが主キーを導くために条件が使用され、パーティションキーの一部です。それなしでのパフォーマンスの違いは、データセットのサイズで1000倍です。 – TJChambers

関連する問題