ruby-on-rails – Rails 3和Devise:重定向到注册页面(可确认)

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Rails 3和Devise:重定向到注册页面(可确认)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个Rise 3项目与Devise,确认启用,所以用户必须通过电子邮件确认他们的帐户注册后.目前,该项目将用户返回到登录页面,并发出“您已经注册成功”通知.我想要做的是将其重定向到“谢谢”页面,并附上进一步的说明(检查您的电子邮件,垃圾邮件文件夹,blah blah).

我的第一站是Devise wiki,我在那里found this page.看起来很容易,我进行了以下更改,并按照方向完全符合…

/app/controllers/registrations_controller.rb

class RegistrationsController < Devise::RegistrationsController
   protected
      def after_sign_up_path_for(resource)
        "http://google.com"
      end        
end

/config/routes.rb

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

将“注册文件夹从/ app / views / devise视图文件夹中移动到顶部/ app / views文件夹中的一个修改,因为返回的错误现在丢失了视图.无论如何,尽管控制器覆盖似乎正常工作(我不认为视图本来不会被打破),这些方向不起作用…页面忽略after_sign_up并在注册后返回到登录页面.

在互联网上狩猎包括其他Stack Overflow线程,但没有找到我为我工作…或者回答困惑重定向注册登录,或者他们实际上正在改变登录后的重定向(正如Devise正常注册自动登录,无需启用确认).

我试过的其他事情

将after_sign_up_path_for(资源)移动到应用程序控制器中.不行奇怪的是,使用after_sign_in_path_for(资源)执行相同操作,并以用户身份重新登录.
将registrationmentscontrol.rb从/ app / controllers / into / app / controllers / users文件夹移动,并相应地更新所有路由/引用/ etc.不去
>将Devise的registrations_controller.rb复制到我自己的registrations_controller.rb中.没有工作,只是提出一个错误,我把它全部回来了.
>我试过def after_inactive_sign_up_path_for(资源),因为我认为也许这个帐户没有活跃的事实是罪魁祸首.这也被忽略.
>还有一点值得一提的是,在这些重大变化之后,我已经尝试重新启动我的项目,但没有任何效果.

有没有人有成功拉这个关闭确认启用?

解决方法

你使用哪个版本的设计?我很确定这个 issue was recently resolved,所以你可能需要最新版本的repo,这仍然是一个候选人(尽管它应该很快,因为他们正在等待omniauth 0.2离开测试版,最近发生).

我正在使用Devise 1.2.rc2从github repo与rails 3.0.5.我添加了您提到的代码到我的自定义注册控制器,并在创建新帐户之后转发到谷歌.

我的注册控制器的一个截止版本(在app / controllers / users中)

class Users::RegistrationsController < Devise::RegistrationsController
  protected
      def after_sign_up_path_for(resource)
        "http://google.com"
      end  

end

我的路线

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

从我的宝石

gem 'devise',:git => "git://github.com/plataformatec/devise.git"

如果您在最新版本的设计中遇到问题,请告诉我们.

猜你在找的Ruby相关文章