Ho le seguenti classi:Gli attributi nidificati possono essere utilizzati in combinazione con l'ereditarietà?
- progetto
- persona
- persona>Developer
- Person>Gestione
Nel modello Project
ho aggiunto le seguenti dichiarazioni:
has_and_belongs_to_many :people
accepts_nested_attributes_for :people
E, naturalmente, le dichiarazioni appropriate nella classe Person
. Come posso aggiungere uno Developer
a Project
tramite il metodo nested_attributes
? Quanto segue non funziona:
@p.people_attributes = [{:name => "Epic Beard Man", :type => "Developer"}]
@p.people
=> [#<Person id: nil, name: "Epic Beard Man", type: nil>]
Come si può vedere gli attributi type
è impostato su nil
invece di "Developer"
.
nota: questo funziona per Rails 2.3, vedere la mia risposta qui sotto per Rails 3 – tokland
@tokland, non avevo visitato questa domanda per qualche tempo. Ho aggiornato la mia risposta con una soluzione Rails 3. –
ottimo. Scriverei un semplice 'def self.attributes_protected_by_default', ma qualunque cosa. – tokland