2016-07-28 18 views
0

conditonが内部クエリを持つhas_oneの関連付けを作成したいと思います。 table_bの複数の条件を持つhas_one

class A < ActiveRecord::base 
    has_one :table_b, :order => 'id ASC' :class_name => 'B' :conditions => "" 
end 

スキーマ私が生成するSQLクエリー対応

table_b 

id 
name 

-

select * from table_b where name = "dummy" and id in (select * from table_b order by id limit 1) 

が、それは、このSQL文を実行することができます条件を記述することが可能です。

答えて

0

私はあなたが正しいことを理解しています。

class ModelA < ActiveRecord::base 
    has_one :model_b, foreign_key: 'table_a_id', class_name:'ModelB' 
end 

class ModelB < ActiveRecord::base 
    belongs_to :model_a 
    scope :by_name, -> (name) { where(name: name) } 
end 

をこの

instance_a = ModelA.first 
instance_a.model_b.by_name('dummy') 
ような呼び出し:私は次に、例えば、スコープを使用して(integer型と)table_b = table_a_idに関係列を追加する必要があります
関連する問題