Как показать модальный логин в Rails, если пользователь пытается получить доступ к авторизованному разделу - PullRequest
1 голос
/ 13 октября 2010

Как бы вы внедрили модальное окно с надписью «Чтобы получить доступ к этой области, вы должны войти в систему ...» в сочетании с формой входа под ней каждый раз, когда пользователь пытается получить доступ к авторизованному контенту.Я использую 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

1 Ответ

0 голосов
/ 30 ноября 2010

Я не использую модальное окно, но это работает

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

Это перенаправит использование в форму входаКогда пользователь предоставит свои учетные данные, ему будет показана страница, к которой он хотел получить доступ.

...