/ / rails vybudujú asociáciu z polymorfného patr_to objektu - ruby-on-rails

koľajnice budovať združenie z polymorfného objektu belongstoto - ruby ​​na koľajniciach

Mám polymorfný vzťah nasledovne:

class Profile
belongs_to :practice, polymorphic: :true
end

class ForeclosurePractice
has_one :profile, as: :practice
end

Chcem postaviť cvičný objekt na základe profilu, ktorý mám, ale nanešťastie sa cvičenie vráti nula:

p = Profile.new
p.practice # => nil

Ako môžem zostaviť cvičný objekt z objektu Profile?

odpovede:

2 pre odpoveď č. 1

p.build_practice nevyhrá prácu, pretože build_other metóda nie je generovaná pre polymorfné asociácie.

Ak chcete spôsob, ako dynamicky vytvoriť inštanciu, napríklad na základe názvu triedy vybraného vo formulári, môžete skúsiť použiť save_constantize - jednoduchý príklad:

p.practice = params[:practice_type].safe_constantize.new

0 pre odpoveď č. 2

Musíte explicitne vybudovať združenie:

p = Profile.new
p.build_practice

pozri: http://apidock.com/rails/v4.0.2/ActiveRecord/Associations/ClassMethods/belongs_to