条件付きのhas_many :through
の関連付けを構築する際に問題が発生しています。私はこのモデルを持っています:Rails has_many:through条件と建物の関連付け
class Contact < AR
has_many :group_contacts
has_many :groups, :through => :group_contacts, :conditions => {:groups => {:published => true}}
end
連絡先からグループをインスタンス化しようとすると問題が発生します。上記の構文で、私はエラーを取得:
contact.groups.build
=> ActiveRecord::UnknownAttributeError: unknown attribute: groups
をしかし、私は次の構文を使用する場合、それは動作します:
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>
私はthis questionでの正確な問題への参照を参照してください。チケットはこのバグのために提出されると言われています(3つのバージョンのプレリリース)。しかし、私はrails 3.0.x
で何も見つけることができません。
私は3.0.8を使用しています。他の誰かがこの問題を発見しましたか?
さらに注記:
また、私はグループを構築していたときに構築するとき、それは実際に関連に私の条件を無視していることがわかりました。私の上のビルドpublished => true
を持っていた唯一の理由は、dbのデフォルトだからです。
これは回帰のようですが、他の誰かがこれを確認できますか?
それは可能です、あなたは意味: 'has_manyの:グループ、:group_contacts、::条件=> {:グループ=> {:公表=>真}}' =>スルー? – dwhalen
おっと、thx good find! – brad