0

ここで記事を読み、そこにある原則を使用して、コントローラーの管理チェックを作成しました。基本的には、あなたがどのコントローラーにいるかを確認し、次に、この人がそのコントローラーを表示する許可として、見つけるよりもそれを渡すかどうかを示す配列を作成します。

この記事の著者は、読者はサンプル コードに欠陥があるため使用すべきではなく、彼のプラグインを使用する必要があると述べています (もちろん、これは現在では古くなっています)。そして彼は言った

「クラス変数とクラス キャッシングの使用により、本番モードで実行する場合、上記のコードにはいくつかの問題があります。」

テストが失敗しましたが、これが原因である可能性がありますが、コードのどの部分を使用してはならないのかよくわかりません。私は(application.rbで)以下を持っていました:

 controller = params[:controller]
 action = params[:action]

しかし、私はそれを次のように変更しました:

controller = self.class.name
action = params[:action]

アクション名に正しくアクセスするにはどうすればよいですか? また、一般的に、開発モードでは実行できて本番環境では実行できないことは何ですか?

4

1 に答える 1

0

代わりに、役割ベースの権限プラグインを検討しましたか?次のstackoverflowの質問を参照してください。

ロールベースの権限に最適なRailsプラグインはどれですか?(回答ごとに1つの推薦を提供してください)

貼り付けたコードの本番環境での使用に関する問題はありません。問題のプラグインは、@@の誤用の可能性があるために問題が発生する可能性がありますが、十分に調査していません。

于 2009-07-24T19:19:31.033 に答える