そのため、ユーザーとユーザーが変更するオブジェクトとの間にいくつかの権限を実装しました..そして、ビュー/コントローラーとモデルとの結合を減らしたいと思います(上記の権限を呼び出します)。before_save
//before_create
コールバックにパーミッション機能の一部を実装するbefore_destroy
。しかし、権限はユーザー ( current_user.can_do_whatever?
) に関連付けられているため、どうすればよいかわかりませんでした。
current_user
このアイデアは、具体的にはコントローラーレベルであるため、結合を増加させる可能性さえあります。
最初にこれをやりたかった理由は次のとおりです。コントローラー全体で、ユーザーがsave
/ create
/を実行できるかどうかを確認する必要がありますdestroy
。では、Rails が既に行っているようにsave
/ create
/に対して false を返し、モデル オブジェクトにエラーを追加して、Rails の検証と同様に false を返すのはなぜでしょうか?destroy
.save
Idk、これは良いですか、それとも悪いですか?これを行うより良い方法はありますか?