Ruby on rails Rails-保存后-如何确定记录是否已创建/更新或删除
在我的rails应用程序中,我有以下型号:Ruby on rails Rails-保存后-如何确定记录是否已创建/更新或删除,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,在我的rails应用程序中,我有以下型号: Messages (id, title, content, project_id) MessageViews (id, message_id, view_status) Permissions (id, user_id, project_id) Projects (id, name) 每当将用户添加到包含现有消息的项目中时,我都希望为项目中的每条消息创建MessageView记录 同样,如果删除了用户的项目权限,我想删除与该项目消息关联的所有用户的M
Messages (id, title, content, project_id)
MessageViews (id, message_id, view_status)
Permissions (id, user_id, project_id)
Projects (id, name)
每当将用户添加到包含现有消息的项目中时,我都希望为项目中的每条消息创建MessageView记录
同样,如果删除了用户的项目权限,我想删除与该项目消息关联的所有用户的MessageView
在我的权限模型中,到目前为止,我有:
before_destroy :check_message_views
private
def check_message_views
.....
end
如何在check_message_视图中确定是否正在创建/更新或删除记录
When created/updated, I want to loop through and check
When deleted, I want to loop through all the project's messages and delete any messageView for that user.
谢谢您的
MessageView
型号不应该属于权限
?然后你可以设置:dependent=>:destroy
,一切都会自动运行
否则,您可以使用该方法
我认为没有任何等价的创建方法
,但您可以将代码放在权限
模型的回调中。如果你想保持一致,销毁后也会有一个回调
另一种破解方法是检查模型在
时间创建的是否与在
时间更新的相同。如果是这样,那么它已经创建了,但还没有更新。实际上,在权限中,我应该使用:has\u many=>messageview through Messages,Dependent destory吗?不确定这是否会创建它们,尽管只是删除?