在使用Devise登录后,用户将用户从登录页面重定向

时间:2011-08-22 22:43:05

标签: ruby-on-rails-3 redirect devise

我希望我的用户在他们已经登录后访问“/ users / sign_in”时会被重定向到主页。我怎么能这样做?

3 个答案:

答案 0 :(得分:1)

在登录页面的控制器操作中(如果您正在使用设计,可能会注册)。如果还没有,则必须覆盖控制器。

def new    
  if current_user
    redirect_to home_page_url
  else
    #current logic for sign in method (super) if you currently don't have it implemented
  end
end

答案 1 :(得分:1)

我还发现了一种从router.rb文件中执行此操作的方法;这比从路由器上做起来容易得多,这需要我覆盖设计控制器。

  authenticated :admin do
    root :to => 'admin/dashboard#show'
  end

  authenticated do
    root :to => 'dashboard#show'
  end

  root :to => 'landing#show'

http://rubydoc.info/github/plataformatec/devise/master/ActionDispatch/Routing/Mapper:authenticated

答案 2 :(得分:0)

将以下内容添加到routes.rb:

  match "user_root", :to => "site#show"  # where SiteController#show is your home page