1

对不起,我找不到我的错误。这是我的 registrations_controller.rb 代码:

class RegistrationsController < Devise::RegistrationsController  
 protected
   def after_sign_up_path_for(resource)
 edit_user_registration_path(current_user)
 end
end

在我的路线中:

  devise_for :users, :controllers => { :registrations => "registrations" }

并且重定向不起作用...

4

2 回答 2

1

你有没有尝试过:

class RegistrationsController < Devise::RegistrationsController
  protected

  def after_sign_up_path_for(resource)
    '/an/example/path'
  end
end

...然后将其添加到您的路线中:

devise_for :users, :controllers => { :registrations => "registrations" }

所有这些都来自这个,它花了大约 30 分钟搜索谷歌来运行它。是唯一对我有用的东西。

编辑: 我还可以补充一点,在浏览代码之后,看起来这不会导致实际的重定向(尽管有些文档是这样说的);我要回200。

于 2013-02-06T06:36:34.897 回答
0

您的路径应该是有效的(尝试检查rake routes | grep registration)否则您将被重定向到root_path"/"

  def signed_in_root_path(resource_or_scope)
    scope = Devise::Mapping.find_scope!(resource_or_scope)
    home_path = "#{scope}_root_path"
    if respond_to?(home_path, true)
      send(home_path)
    elsif respond_to?(:root_path)
      root_path
    else
      "/"
    end
  end

从设计源代码

于 2013-02-06T06:48:51.300 回答