首次登录时如何将Devise路由到欢迎屏幕?

时间:2011-05-13 18:33:25

标签: ruby-on-rails devise

如何告知Devise刚刚注册时将用户路由到一次性欢迎屏幕?

3 个答案:

答案 0 :(得分:3)

创建一个新的控制器“RegistrationsController”并自定义适当的方法:

class RegistrationsController < Devise::RegistrationsController
  protected

  def after_sign_up_path_for(resource)
    some_special_page
  end
end

如果已注册的帐户尚未处于活动状态,则必须覆盖after_inactive_sign_up_path_for方法。

class RegistrationsController < Devise::RegistrationsController
  protected

  def after_inactive_sign_up_path_for(resource)
    some_special_page
  end
end

修改config / routes.rb以使用新控制器

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

资料来源:https://github.com/plataformatec/devise/wiki/How-To:-Redirect-after-registration-(sign-up

答案 1 :(得分:1)

在Application控制器中,添加:

def after_sign_up_path_for(resource)
  some_special_page
end

对于大多数与Devise相关的问题,请查看Github wiki

答案 2 :(得分:1)

默认情况下,Devise会将用户转发到:user_root(如果您的模型名称是用户)

所以你可以定义命名路由

get "/welcome" => "welcomes#index", :as => "user_root"