我有两个简单关联的模型
class Door
belongs_to :main_room, class_name: 'Room', inverse_of: :door
end
####
class Room
has_one :door, foreing_key: :main_room_id
end
你能告诉我为什么
door.build_main_room.door
返回nil?
UPD:
door.build_main_room
# => #<Room id: nil>
UPD2:
哦,伙计们,这完全是我的错误。关联是正确的,但在Room类中定义了方法door
并返回nil。没有它,一切正常。
答案 0 :(得分:0)
您的代码
door.build_main_room.door
将返回nil,因为您尚未保存构建的对象。要保存它,您需要使用
door.save
如果成功保存,那么您只能访问
door.main_room.door