Rails has_many: through с условиями и построением ассоциаций

У меня проблемы с построением ассоциации, которая является 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
=> #

Я вижу ссылку на точную проблему в этом вопросе . Говорят, что для этой ошибки будет подана заявка (еще в версиях pre-rails 3). Однако я ничего не могу найти на rails 3.0.x .

Я использую 3.0.8. Кто-нибудь еще обнаружил эту проблему?

Дополнительные примечания :

Я также обнаружил, что когда я строю группы, он фактически игнорирует мои условия ассоциации при построении. Единственная причина, по которой в моей вышеупомянутой сборке было published => true , потому что это значение по умолчанию в базе данных.

Это похоже на регресс, может ли кто-нибудь еще проверить это?

7
задан Community 23 May 2017 в 10:34
поделиться