references rails inverse_of includes has_many has_and_belongs_to_many foreign belongs accepts_nested_attributes_for ruby-on-rails ruby-on-rails-3 activerecord has-many-through

ruby on rails - inverse_of - Rails has_many: a través de condiciones y asociaciones de construcción



inverse_of rails 5 (1)

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

o

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

Tengo problemas para crear una asociación que sea has_many :through de condiciones. Tengo este modelo:

class Contact < AR has_many :group_contacts has_many :groups, :through => :group_contacts, :conditions => {:groups => {:published => true}} end

El problema ocurre cuando trato de crear una instancia de un grupo de un contacto. Con la sintaxis anterior, aparece un error:

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

Pero cuando uso la siguiente sintaxis funciona:

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>

Veo una referencia al problema exacto en esta pregunta . Se dice que se archivaría un ticket para este error (de vuelta en versiones de prerray 3). Sin embargo, no puedo encontrar nada en los rails 3.0.x

Estoy usando 3.0.8. ¿Alguien más ha encontrado este problema?

Notas adicionales :

También descubrí que cuando estoy creando grupos, en realidad ignora mis condiciones en la asociación cuando construyo. La única razón por la que mi compilación anterior ha published => true es porque es la predeterminada en el archivo db.

Esto parece una regresión, ¿alguien más puede verificar esto?