7

Koşulları olan bir has_many :through olan bir ilişki kurma konusunda sorun yaşıyorum. Bu gruptan bir gruptan bir örnek oluşturmaya çalıştığımda sorun olur. Yukarıdaki sözdizimi ile, bir hata alıyorum:Raylar has_many: koşullarla ve bina ilişkileriyle birlikte

contact.groups.build 
=> ActiveRecord::UnknownAttributeError: unknown attribute: groups 

Ama aşağıdaki sözdizimini kullandığınızda çalışır:

has_many :groups, :through => :group_contacts, :conditions => ['groups.published = ?', true] 

contact.groups.build 
=> #<Group id: nil, name: nil, description: nil, created_at: nil, updated_at: nil, published: true> 

ben this question kesin soruna bir başvurusuna bakın. Bu hata için bir bilet düzenleneceği söyleniyor (prefabrikler 3 versiyonlarına geri dönülüyor). Ancak rails 3.0.x numaralı telefondan hiçbir şey bulamıyorum.

3.0.8 kullanıyorum. Bu sorunu başka biri buldu mu?

Daha Notlar:

Ben de gruplar inşa ediyorum zaman oluştururken, aslında dernek benim koşullarını görmezden olduğunu tespit ettik. Yukarıdaki yapmamın published => true olması için tek nedeni, db'deki varsayılan değer olmasıdır.

Bu bir gerileme gibi görünüyor, başka biri bunu doğrulayabilir mi? `Has_many:

+1

mümkün sen demek mi gruplarını: => yoluyla: group_contacts: koşullar => {: grupları => {: yayınlanmış => true}}' ? – dwhalen

+0

oops, thx iyi bulmak! – brad

cevap

9
has_many :groups, :through => :group_contacts, :conditions => {:published => true} 

veya

has_many :groups, :through => :group_contacts, :conditions => {"groups.published" => true} 
+0

ah doğru ... Tamamen diğer birleşik modellerde koşullara alışkınım, yani:: koşullar => {: some_model => {: attr => true}} ', ama sanırım koşullar gerçekte olduğunda has_many' modeli, belirtmeniz gerekmez. Teşekkürler – brad

İlgili konular