Ruby on rails 销毁前的Rails 4不能防止销毁
这里是我设置的一个简单的消息模型Ruby on rails 销毁前的Rails 4不能防止销毁,ruby-on-rails,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 4,这里是我设置的一个简单的消息模型 class Message < ActiveRecord::Base validates_presence_of :user_id, :head, :text belongs_to :user has_many :receivers, class_name: MessageReceiver has_many :users, through: :receivers before_destroy :check_receivers
class Message < ActiveRecord::Base
validates_presence_of :user_id, :head, :text
belongs_to :user
has_many :receivers, class_name: MessageReceiver
has_many :users, through: :receivers
before_destroy :check_receivers
private
def check_receivers
if self.receivers.empty?
true
else
self.update(deleted: 1)
false
end
end
end
class消息
直接调用时,:check_receivers
方法按预期工作(我将其从资源的私有部分中删除),但不知何故,它并不能防止消息被破坏
我在这里做错什么了吗?删除
before_destroy :check_receivers
试一试
has_many :receivers, class_name: MessageReceiver, dependent: :restrict_with_exception
它们是被销毁还是被删除<代码>销毁前仅在销毁
时触发。如果调用了delete
,它将始终继续。