ruby-on-rails - 如何将新 Action 添加到设计注册 Controller 中?

标签 ruby-on-rails devise overriding

我知道如何覆盖默认 Controller 并且它正在工作,但现在我需要向注册 Controller 添加新操作。
我需要更新用户字段。我需要在此表单中添加名字和姓氏,但我不想使用标准编辑页面,因为它将是单独的页面。
所以我需要其他页面。我的注册文件夹中有 paypal..html.erb,但我无法从注册 Controller 中的操作中呈现它。
支付宝操作:

class RegistrationsController < Devise::RegistrationsController

def paypal  
end 
...
end

路线.rb:
 devise_for :users, :controllers => {:registrations => 'registrations', :sessions => 'sessions'} do
    match 'paypal' => 'registrations#paypal'
  end

但不知何故它呈现新的注册文件。这是错误:
   NoMethodError in Registrations#paypal
   Showing C:/1508/app/views/devise/registrations/new.html.erb where line #22 raised: 

我如何使用更新表单来执行此操作以及我做错了什么?

最佳答案

我将此添加到我的 route 以使其工作

devise_scope :user do
  get 'paypal(/:id)', :action => 'paypal', :controller => 'user/registrations', :as => 'paypal'
end

关于ruby-on-rails - 如何将新 Action 添加到设计注册 Controller 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11983813/

相关文章:

ruby - 从设备/管理员 session cookie 中获取用户

objective-c - Objective C 到 Swift Nonnull 的转换

Java 覆盖方法不起作用

ruby-on-rails - Carrierwave/Fog - 参数错误,无法识别提供者

ruby-on-rails - 使用线程安全时未在延迟作业中加载模型类

ruby-on-rails - 带有 ruby​​ omnicompletion 的 rails.vim 给出 "Error loading rails environment"错误

java - 覆盖在非 Activity 类中不起作用

ruby-on-rails - Rails 架构创建问题

mysql - 我应该使用 MySql 还是 mongodb

ruby-on-rails - 设计更新密码