我想知道rails自动生成的对象的自动辅助方法。
class Car < ActiveRecord::Base
has_one :steering_wheel, inverse_of: car
has_many :windows, inverse_of: :car
end
class Window < ActiveRecord::Base
belongs_to :car, inverse_of: :windows
end
class SteeringWheel < ActiveRecord::Base
belongs_to :car, inverse_of: :steering_wheel
end
通过这种关系,我可以做到
car = Car.first
car.create_steering_wheel
但我还想创建一个新的window
喜欢
car.create_window
怎么可能这样做?
答案 0 :(得分:2)
使用关联构建器方法
car.windows.create
答案 1 :(得分:0)
belongs_to关联添加了此方法
association
association=(associate)
build_association(attributes = {})
create_association(attributes = {})
create_association!(attributes = {})
这意味着如果window是Window
的实例,则可以window.create_car
从Parent创建对象就像这样
car = Car.first
car.windows.create
参考:http://edgeguides.rubyonrails.org/association_basics.html#detailed-association-reference