私は、ユーザが自分のRailsアプリケーションの投稿やコメントを編集できるかどうかをチェックする方法を持っています。ユーザーがエンティティの両方のタイプを所有することができますので、私は、このメソッドは、パラメータpost_or_comment
としてそれらのいずれかを取ることにしました:これは曖昧パラメータとして、このように任意のオブジェクトを取ることをお勧めしこのユーザー・メソッド・パラメーターの名前は?
class User < ActiveRecord::Base
def can_edit?(post_or_comment)
post_or_comment.user == self || self.admin?
end
end
、といパラメータのために私が選んだ名前は理にかなっていますか?
CanCanのような洗練されたユーザーロールハンドラに興味はありません。私は学んでいるので、簡単に保つことにします。
私は2つの方法として2つの別々のテストを行い、次に2つの方法を便宜的に包む3つ目の方法を考えます。それは、テストの際により細分化することができます。それは管理者の役割であるため、管理者ができることは非常に明白です。特にコードを他の人と共有しようとする場合は特にそうです。任意の変数型を取ってしまうと、将来あなたが偶然に噛み付く可能性があります。そのため、セキュリティが関与しているので、あなたが意図していることを確認することは賢明です。 'post_or_comment'のようなパラメータ名はうまくいきますが、もしコードがそれを知りたいと思うかもしれないし、正しく扱いたくないパラメータを受け入れるならば。 –
チャンスがあった場合、これの例を教えてください。 –