ここで記事を読み、そこにある原則を使用して、コントローラーの管理チェックを作成しました。基本的には、あなたがどのコントローラーにいるかを確認し、次に、この人がそのコントローラーを表示する許可として、見つけるよりもそれを渡すかどうかを示す配列を作成します。
この記事の著者は、読者はサンプル コードに欠陥があるため使用すべきではなく、彼のプラグインを使用する必要があると述べています (もちろん、これは現在では古くなっています)。そして彼は言った
「クラス変数とクラス キャッシングの使用により、本番モードで実行する場合、上記のコードにはいくつかの問題があります。」
テストが失敗しましたが、これが原因である可能性がありますが、コードのどの部分を使用してはならないのかよくわかりません。私は(application.rbで)以下を持っていました:
controller = params[:controller]
action = params[:action]
しかし、私はそれを次のように変更しました:
controller = self.class.name
action = params[:action]
アクション名に正しくアクセスするにはどうすればよいですか? また、一般的に、開発モードでは実行できて本番環境では実行できないことは何ですか?