使用设计后sign_in / up重定向问题

时间:2012-05-21 09:49:56

标签: ruby-on-rails devise

我希望登录后用户重定向到创建新表(网站)的页面,所以我在ApplicationController中有功能:

def after_sign_in_path_for(resource)
 new_website_path 
end

注册后我希望用户重定向到他的编辑页面:

def after_sign_up_path_for(resource)
 edit_user_registration_path
end

所以问题是 - 为什么它不起作用?

2 个答案:

答案 0 :(得分:1)

这是因为after_sign_up_path_for(resource)是Devise注册控制器的受保护方法,因为您可以看到in the controller。注册后,您可以获得自定义重定向的唯一方法是自行覆盖Devise注册控制器。在Devise Wiki上有关于这样做的说明。

答案 1 :(得分:0)

所以我改变了这样的访问级别:

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

在此之前它正在为after_sign_in和after_sign_out工作,现在它根本没有工作。为什么?