如何将无效记录添加到 has_many :through association
How to add invalid records to has_many :through association
我有一个房间模型 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 时如何跳过验证?
如果 living_room 属于某个房子,您只需更新该客厅记录中的 house_id
即可匹配您希望它属于的房子。
您可以尝试这样将 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)
我有一个房间模型 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 时如何跳过验证?
如果 living_room 属于某个房子,您只需更新该客厅记录中的 house_id
即可匹配您希望它属于的房子。
您可以尝试这样将 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)