Ruby on rails Rails Beta版邀请-覆盖设备注册控制器
我使用Desive(1.4.8)作为我的用户模型,并一直在尝试实现一个简单的beta邀请功能(Rails 3.0.7),这是Ryan Bates提出的 我无法让我的设备模型控制器的[new]方法识别邀请令牌。我怀疑这是因为我没有成功覆盖设备的注册控制器 我假设不使用user_控制器从注册表传递变量,我必须覆盖designe的注册控制器。因此,控制器根文件夹中的my registrations_controller.rb:Ruby on rails Rails Beta版邀请-覆盖设备注册控制器,ruby-on-rails,ruby-on-rails-3,devise,railscasts,invitation,Ruby On Rails,Ruby On Rails 3,Devise,Railscasts,Invitation,我使用Desive(1.4.8)作为我的用户模型,并一直在尝试实现一个简单的beta邀请功能(Rails 3.0.7),这是Ryan Bates提出的 我无法让我的设备模型控制器的[new]方法识别邀请令牌。我怀疑这是因为我没有成功覆盖设备的注册控制器 我假设不使用user_控制器从注册表传递变量,我必须覆盖designe的注册控制器。因此,控制器根文件夹中的my registrations_controller.rb: class RegistrationsController < De
class RegistrationsController < Devise::RegistrationsController
def new
super
@user = User.new(:invitation_token => params[:invitation_token])
@user.email = @user.invitation.recipient_email if @user.invitation
end
end
在"controller.rb"中
Mailer.invitation(@invitation, new_user_registration_url+"/#{@invitation.token}").deliver
如何覆盖设备的注册控制器并从设备的新用户表单中成功传递:邀请\u令牌?如果在控制器中转储参数[:邀请\u令牌],该怎么办?你有情人吗
您应该在路由中使用“registrations#new”,而不是“Desive/registrations#new”如果您在控制器中转储参数[:邀请函令牌],会怎么样?你有情人吗
你应该在路线中使用“注册新”,而不是“设计/注册新”经过进一步研究,我发现其他人也遇到了类似的问题:
不是很优雅,但是很有技巧 经过进一步研究,我发现其他人也遇到了类似的问题:
Mailer.invitation(@invitation, new_user_registration_url+"/#{@invitation.token}").deliver