0

RailsアプリにDeviseとCanCanがあります。デフォルトでは、ユーザーが許可されていないページにログインしようとすると、ユーザーをサインインページにリダイレクトする必要があると思います。しかし、どういうわけか、それは私のアプリでは機能しません。

ユーザーが許可されているかどうかのチェックを実装し、グローバルでない場合(つまり、すべてのコントローラー/メソッド)にホームにリダイレクトするにはどうすればよいですか?

更新: jqueryを更新した後、CanCanが機能しなくなったようです。

ありがとうございました。

4

2 に答える 2

1

これは、私が(routes.rbで)独自のカスタム認証(おそらくdeviseと同様)を使用して行う方法です。

root :to => '<controller#action_needing_authorization>', :constraints => lambda{|req| !req.session[:user_id].blank? }
root :to => 'sessions#new'

これは、ルートが指定された順序で一致するために機能します。

于 2012-04-07T22:05:34.150 に答える
1

routes.rb動作するはずです。ファイルを表示してください。チェックするbefore_filter :authenticate_member!には、コントローラークラスの上に追加するだけです。

于 2012-04-07T22:21:15.103 に答える