Ho due modelli come la seguente:Ottenere NameError: costante inizializzata quando si cerca di assegnare belongs_to
module MainModule
module SubModule
class Home < ActiveRecord::Base
has_many :rooms
end
end
end
module MainModule
module SubModule
class Room < ActiveRecord::Base
belongs_to :home
end
end
end
se faccio il seguente, ottengo un errore:
> home.rooms << room
=> NameError: uninitialized constant Room
(Failed)
> home.rooms
=> #<ActiveRecord::Associations::CollectionProxy []>
(Success)
Ma se aggiorno il modello Home:
..
has_many :rooms, class_name: "MainModule::SubModule::Room"
..
> home.rooms << room
=> #<MainModule::SubModule::Room id: 1, ...>
Per qualche motivo, posso ottenere le camere associate ma non posso assegnarne una nuova. Cosa mi sono perso qui?
Perché has_many: associazione camere si aspetta una modalità in camera, ma bisogna MainModule: : modulo :: camera. –
Questo è quello che ho pensato fino a quando home.rooms funziona correttamente –
hai provato 'belongs_to: home, class_name: 'MainModule :: SubModule :: Home'' –