我有一个带房间的has_many-association的房屋模型。
house = House.find 1
dining_room = Room.find 1
living_room = Room.find 2
living_room不是有效的数据集。所以如果我把房间加到房子里
house << dining_room
house << living_room
没有添加living_room,因为它无效。
将现有记录添加到has_many-association时,如何跳过验证?
答案 0 :(得分:2)
你可以尝试这样的事情来将Room
对象与House
对象跳过验证相关联:
在room.rb
def associate_room_to_house!(house)
self.house_id = house.id
self.save(:validate => false)
end
然后在无效的房间对象上使用此方法。
house = House.find 1
living_room = Room.find 2
living_room.associate_room_to_house!(house)
答案 1 :(得分:1)
如果一个living_room属于一个房子,你可以简单地更新该客厅记录上的house_id
以匹配你想要它的房子。