Ruby on rails 找不到设计注册URL
我有一个问题,设计后定制的注册路线。 Desive文档提到,路由可以很容易地定制,所以我尝试在URL中添加一个令牌来建立一个简单的邀请系统。这很直截了当,我所做的只是添加Ruby on rails 找不到设计注册URL,ruby-on-rails,ruby-on-rails-3,ruby-on-rails-3.2,Ruby On Rails,Ruby On Rails 3,Ruby On Rails 3.2,我有一个问题,设计后定制的注册路线。 Desive文档提到,路由可以很容易地定制,所以我尝试在URL中添加一个令牌来建立一个简单的邀请系统。这很直截了当,我所做的只是添加 devise_for :users, :path_names => { :sign_up => "signup/:invitation_token" } 我的路线。一个邮递员发送一封带有令牌的电子邮件,里面有我的通行证 new_user_registration_path(@invitation.token)
devise_for :users, :path_names => { :sign_up => "signup/:invitation_token" }
我的路线。一个邮递员发送一封带有令牌的电子邮件,里面有我的通行证
new_user_registration_path(@invitation.token)
rake说
new_user_registration GET /users/signup/:invitation_token(.:format) devise/registrations#new
但我还是很高兴
No route matches {:action=>"new", :controller=>"devise/registrations", :locale=>:de, :invitation_token=>nil}
不管我是否传递令牌,我都明白
我不是舒尔,我错过了什么。
提前谢谢,希望有人看到我做错了什么
问候,Rob检查
@invitation.token
以确保它不是nil
在将nil
传递到new\u user\u registration\u path
链接标记的任何视图中,都会出现您看到的错误
请记住,为了使邀请系统正常工作,您需要覆盖Desive的用户/注册
控制器的默认行为。类似这样的方法会奏效:
# routes.rb
devise_for :users, :path_names => { :sign_up => "signup/:invitation_token" }, :controllers => {:registrations => "users/registrations"}
# app/controllers/users/registrations_controller.rb
class RegistrationsController < Devise::RegistrationsController
def create
# add custom create logic here
end
end
#routes.rb
设计用于:用户,:路径\u名称=>{:注册=>“注册/:邀请\u令牌”},:控制器=>{:注册=>“用户/注册”}
#app/controllers/users/registrations\u controller.rb
类注册控制器<设计::注册控制器
def创建
#在此处添加自定义创建逻辑
结束
结束
您看过了吗?谢谢。我会试试看,但我也想知道我做错了什么。