繁体   English   中英

保护某些记录免受修改或删除的最佳方法是什么?

[英]What's the best way to protect certain records from modification or deletion?

我有三种模型:用户,订阅和渠道。

用户:

has_many :channels, :through => :subscriptions

订阅:

belongs_to :user
belongs_to :channel

渠道

belongs_to :user
has_many :users, :through => :subscriptions

我有一个after_create方法,该方法会自动将频道的创建用户添加到带有其他一些必要属性集的订阅表中。 我应如何以及在何处添加防止删除或修改与该频道的用户相对应的订阅记录的信息?

由于可以从不同控制器中的几个不同操作中更新我的模型,因此我需要在模型层中进行此操作,但是我不确定应该使用哪个回调。 我需要写验证还是需要连接到before_destroyafter_destroy或什么?

Rails 3.1.3

如果除非满足某些条件,否则需要防止删除或修改Subscription记录,则可以将这些保护放在Subscription模型的before_destroybefore_save挂钩中。 如果您修改和删除的条件相同,那么它们都可以指向相同的方法。 否则,您可以指定before_destroy :validate_destroy_privilegesbefore_save validate_save_privileges ,或者对所检查内容有意义的任何内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM