1

したがって、コントローラーに次のコードがあります。

before_filter :require_login, :only => :new, :edit, :destroy

私のコントローラーには、index、new、edit、create、update、show、destroy というメソッドがあります。 私がしたいのは、login_required (コード内の:require_login) でメソッドを保護することです: new、edit、destroy、しかし上記のコードは機能しません。たとえば、1 つのメソッドを保護できます。

before_filter :require_login, :only => :new

でも三人を守りたい、どうしたらいいの?

4

3 に答える 3

3

onlyオプションの値を囲む角括弧がありません:

 before_filter :require_login, :only => [:new, :edit, :destroy]

before_filterRuby インタープリターは、start のみのオプションとcontinueの引数がどこにあるかわからないため、機能していません。これは、コンテナについて明示する必要がある場合です。

于 2012-06-14T00:42:53.340 に答える
0

配列を使用します。

before_filter :require_login, :only => [:new, :edit, :destroy]
于 2012-06-14T00:42:16.290 に答える
0

ああ、私はばかでした!!! それらを配列形式に入れるだけの問題でした-.-次のように:

before_filter :require_login, :only => [:new, :edit, :destroy]

当たり前の質問ですみません。

于 2012-06-14T00:44:52.490 に答える