1

ユーザーが許可されたコンテンツにアクセスしようとするたびに、「このエリアにアクセスするには、ログインする必要があります..」というモーダル ウィンドウを、その下のログイン フォームと組み合わせてどのように実装しますか。Rails 3、Devise、および CanCanを使用しています。

私の最初の考えは、それを application_controller.rb のどこかに置くことでした:

# application_controller.rb
rescue_from CanCan::AccessDenied do |exception|
  flash[:error] = "Access denied."
  redirect_to root_url
end
4

1 に答える 1

0

モーダルウィンドウを使用していませんが、これは機能します

rescue_from CanCan::AccessDenied do |exception|
    unless anybody_signed_in?
      authenticate_user!
    else
      flash[:alert] = "Access denied."
      redirect_to root_url
    end
 end

使用をログインフォームにリダイレクトします。ユーザーが資格情報を提供すると、アクセスしたいページが表示されます。

于 2010-11-30T01:32:56.750 に答える