我有两个相关的模型TripPlan和Place。
class TripPlan < ActiveRecord::Base
has_many :places
end
class Place < ActiveRecord::Base
belongs_to :trip_plan
end
对于places表有相应的迁移:
class CreatePlaces < ActiveRecord::Migration
def change
create_table :places do |t|
t.references :trip_plan, index: true
t.timestamps null: false
end
end
end
因此每个TripPlan可以有多个地方,每个地方都属于一个旅行计划。但是现在我需要这些模型之间的has_one / belongs_to关系。我按如下方式修改了TripPlan模型:
class TripPlan < ActiveRecord::Base
has_one :place
end
但是现在如果我尝试TripPlan.find(1).place.build
它会抛出一个错误:
undefined method 'build' for nil:NilClass
答案 0 :(得分:2)
使用has_one
获得的方法不同
TripPlan.find(1).build_place
您还将获得create_place
方法