Ana*_*ava 1 ruby-on-rails associations has-many dependent-destroy
场景是有两个模型,一个是Room,另一个是Tickets,关系是Room has_many:ticket.
要求是当房间正在删除时不应删除票证.如何实现这一点,因为票证表有外键称为room_id?
并且假设我能够这样做,那么我将如何获得该特定票的房间信息?
这是Rails的一般行为.我想你正在使用dependent: :destroy你的协会.
你想要做的是dependent: :nullify.这将删除您的房间对象而不删除关联的故障单,并仅在room_id故障单中更新为null
class Room < ActiveRecord::Base
has_many :tickets, dependent: :nullify
end
Run Code Online (Sandbox Code Playgroud)
根据您删除后访问房间详细信息的第二个问题,我建议您使用soft_delete而不是实际删除.在这里,你将要做的是,当房间被删除,而不是实际删除它,你将软删除它.因此,门票记录将持续存在,您还可以使用房间详细信息.
有可用的宝石.一个这样的宝石是偏执狂.你可以在这个宝石上查找各种教程.
希望这是有帮助的.如果您需要任何其他指导,请告诉我.
| 归档时间: |
|
| 查看次数: |
562 次 |
| 最近记录: |