ruby-on-rails - validations - ruby rails add column



Rails has_many: attraverso condizioni e associazioni costruttive (1)

Sto riscontrando problemi nella creazione di un'associazione che ha un has_many :through condizioni. Ho questo modello:

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

il problema si verifica quando provo a creare un'istanza di un gruppo da un contatto. Con la sintassi sopra riportata, ottengo un errore:

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

Ma quando uso la seguente sintassi funziona:

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>

Vedo un riferimento al problema esatto in questa domanda . Si dice che un ticket verrà archiviato per questo bug (di nuovo nelle versioni pre-rail 3). Non riesco a trovare nulla tuttavia su rails 3.0.x

Sto usando 3.0.8. Qualcun altro ha trovato questo problema?

Ulteriori note :

Ho anche scoperto che quando sto costruendo dei gruppi, in realtà ignora le mie condizioni sull'associazione quando costruisco. L'unica ragione per cui la mia build precedente aveva published => true è perché è il valore predefinito nel db.

Sembra una regressione, qualcun altro può verificarlo?


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

o

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




has-many-through