0
私はインデックスビューにアクセスする前に "can_accede"(これは私のaplication_controllerにあります)というアクションを実行する前のアクションを使用しています。このアクションは、ユーザーが自分のインデックスにアクセスできるかどうかを確認するレコードを探しますどのようなレコードを探すかを知るには、そのアクションにパラメータを送る必要があります。before_actionを介してパラメータを送信
これが私の "can_accede" アクション
def can_accede
@can_accede = current_usuario.try(:perfiles).find_by_Descripcion(params[:Module_name]).try(:Listar)
if @can_accede != true
redirect_to root_path, alert: "you don't have permission."
end
end
である、これは私のbefore_actionです:
before_action :can_accede, only: [:index]
parameter param [: Module_name]
before_actionを通じて行動can_accedeに送信することは可能でしょうか?
あなたは 'controller_name'と' action_name'メソッドにアクセスできます - あなたは 'Module'を指定するparams(またはコンビネーション)に渡そうとしているもののどちらですか? – SRack
can_accedeメソッドでtryを使用することはお勧めしません。なぜなら、current_usuarioが関連付けによって必要なオブジェクトを取得しなかった場合、またはnilである場合、未定義メソッドfind_by_Descripcion for nilクラスとしてエラーが発生するからです。 。 –