设计不会重定向到我期望的位置

时间:2013-09-23 10:12:54

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

刚刚从Authlogic迁移到Devise,并出现重定向问题。 我有以下内容:

  root :to => "welcome#index"

  authenticated :user do
    root :to => "dashboard#show"
  end

但是,在登录之后,我最终会使用welcome #index,而不是我希望的仪表板#show。

devise文档说:

  

登录用户后,确认帐户或更新帐户   密码,Devise将寻找重定向的作用域根路径。   示例:对于:user资源,如果是,则使用user_root_path   存在,否则将使用默认的root_path。

这只会增强我的期望。

1 个答案:

答案 0 :(得分:6)

def after_sign_in_path_for(resource_or_scope)
     new_order_path 

end

在应用程序控制器中定义它。这将在sign_in之后将您的用户路由到特定路径。

额外的花絮:

如果您想在通过电子邮件确认后将用户路由到特定页面,请在应用程序控制器中使用此页面。

  def after_confirmation_path_for(resource_or_scope)

  end 

试试这个:

resources :dashboard

authenticated :user do
  root :to => "dashboard#show"
end

确保

root :to => "path"

在上面的代码之后而不是在下面。