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

pin*_*ngu 1 authentication ruby-on-rails devise ruby-on-rails-3

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

  root :to => "welcome#index"

  authenticated :user do
    root :to => "dashboard#show"
  end
Run Code Online (Sandbox Code Playgroud)

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

色器件文档说:

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

这只会加强我的期望.

Ara*_*ind 6

def after_sign_in_path_for(resource_or_scope)
     new_order_path 

end
Run Code Online (Sandbox Code Playgroud)

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

额外的花絮:

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

  def after_confirmation_path_for(resource_or_scope)

  end 
Run Code Online (Sandbox Code Playgroud)

试试这个:

resources :dashboard

authenticated :user do
  root :to => "dashboard#show"
end
Run Code Online (Sandbox Code Playgroud)

确保

root :to => "path"
Run Code Online (Sandbox Code Playgroud)

在上面的代码之后而不是那个.