MID*_*MID 8 overriding ruby-on-rails devise
我知道如何覆盖默认控制器并且它正在工作,但现在我需要在Registrations控制器中添加新操作.
我需要更新用户字段.我需要在此表单中添加名字和姓氏,但我不想使用标准的编辑页面,因为它将是单独的页面.
所以我需要其他页面.我在我的注册文件夹中有paypal..html.erb,但是我无法从注册控制器中的操作中呈现它.
Paypal行动:
class RegistrationsController < Devise::RegistrationsController
def paypal
end
...
end
Run Code Online (Sandbox Code Playgroud)
routes.rb中:
devise_for :users, :controllers => {:registrations => 'registrations', :sessions => 'sessions'} do
match 'paypal' => 'registrations#paypal'
end
Run Code Online (Sandbox Code Playgroud)
但不知何故,它呈现新的注册文件.这是错误:
NoMethodError in Registrations#paypal
Showing C:/1508/app/views/devise/registrations/new.html.erb where line #22 raised:
Run Code Online (Sandbox Code Playgroud)
我如何使用更新表单来执行此操作以及我做错了什么?
你的问题似乎有点不清楚,但是为什么不显式渲染视图呢?
def paypal
render 'devise/registrations/paypal'
end
Run Code Online (Sandbox Code Playgroud)
如果您有多种类型的用户,最好将路径和路由分开。
https://github.com/plataformatec/devise/wiki/How-To%3a-Customize-routes-to-user-registration-pages
| 归档时间: |
|
| 查看次数: |
2415 次 |
| 最近记录: |