2 種類のユーザーが編集できるモデルがあります。最初のユーザーにはログインがあり、特別な権限があります (「ユーザー」と呼びましょう)。2 つ目は、限られた権限を持つログインを持たないランダムなユーザーです (「ゲスト」と呼びましょう)。
ゲストは実際には 1 つのコントローラーを介してのみモデルとやり取りするため、特定の検証をこの場合にのみ適用する必要があります。適用したいバリデーションはモジュール内に存在します。
コントローラーアクションで次のようなことを試みましたが、うまくいかなかったようです:
@object = Model.find(params[:object_id])
@object.extend SpecialValidations
次に、オブジェクトの有効性を (おそらく直接または属性の更新時に) チェックし、検証によって生成されたエラーを表示します。
これを行うより良い方法はありますか?
ありがとう!