ruby-on-rails - 如何在确认后使 Devise 重定向

标签 ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

如何在 Devise 中创建确认后重定向?

在添加确认模块之前,自定义after_sign_up_path第一次登录/注册工作正常,但现在当我单击确认链接时在电子邮件中,它重定向到我为登录后路径(用户配置文件)设置的路径。

我的目标是创建一个表单向导和“入门”页面来收集其他信息。明显的警告是,此重定向只会在确认后发生一次。

我尝试了 Stack Overflow 上发布的其他一些解决方案,但似乎都不再有效。

最佳答案

实现此目的的侵入性较小的方法可能只是覆盖 Devise::ConfirmationsControllerafter_confirmation_path_for 方法。

app/controllers目录中创建一个新的confirmations_controller.rb:

class ConfirmationsController < Devise::ConfirmationsController

  private

  def after_confirmation_path_for(resource_name, resource)
    your_new_after_confirmation_path
  end

end

config/routes.rb 中,添加此行,以便 Devise 将使用您的自定义 ConfirmationsController。这假设 Devise 在 users 表上运行(您可以编辑以匹配您的表)。

devise_for :users, controllers: { confirmations: 'confirmations' }

重新启动网络服务器,您应该就可以了。

关于ruby-on-rails - 如何在确认后使 Devise 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10926626/

相关文章:

ruby-on-rails - Rails动态表单字段和AJAX提交

ruby-on-rails - 在 Rails 3.1 Asset Pipeline 中放置 Galleria(jQuery 图像库框架)的位置?

ruby-on-rails - 为什么 rspec 不使用密码重置 token 更新数据库记录?

ruby-on-rails - 没有迁移表的 Rails STI 模型

ruby-on-rails - 在表单中使用来自 Twitter Bootstrap 的 Typeahead (formtastic)

mysql - 导轨 3 : Change charset and collation of an existing mysql database

ruby-on-rails - 为什么= javascript_include_tag :defaults not work in a haml layout in Rails 3. 1

sql - 这种订单情况应该如何设置数据库表

ruby-on-rails - 尝试为一百万条记录生成 csv 时,RAM 使用率为 99% Rails

css - Rails:开发中的 Sprockets::Rails::Helper::AssetNotPrecompiled