나는 다음과 같은 모델을 가지고 : 사용자가 메시지를 기존, 내가 원하는 프로젝트에 추가 될 때마다레일 - after_save - 레코드가/업데이트 작성 또는 삭제되었는지 확인하는 방법에 내 레일 애플 리케이션에서
Messages (id, title, content, project_id)
MessageViews (id, message_id, view_status)
Permissions (id, user_id, project_id)
Projects (id, name)
프로젝트의 모든 메시지에 대한 MessageView 레코드를 만듭니다.
마찬가지로 사용자의 프로젝트 권한이 삭제되면 해당 프로젝트의 메시지에 연결된 모든 사용자의 messageViews를 삭제하려고합니다. 내 권한 모델에서
은, 지금까지 내가 가진 : 레코드가/업데이트를 작성 또는 삭제되는 경우 check_message_views에서before_destroy :check_message_views
private
def check_message_views
.....
end
어떻게 내가 결정할 수 있습니다.
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.
감사
실제로 사용 권한에서 Messages : Dependent Destory를 통해 : has_many => MessageViews를 사용해야합니까? 단지 삭제 만해도 그렇게 만들 수 있는지 확실하지 않은가요? – AnApprentice