有一些类似的问题,但没有明确的答案。我想使用我能够添加更多字段并将它们存储在用户表中的设计。如果我想在注册过程中收集属于另一个表的数据,是否可以通过设计控制器来完成,或者我必须自己编写一个?
问问题
129 次
1 回答
0
你必须使用你自己的。覆盖注册控制器并将其添加到您的路由中,以将您的设计注册指向您的新注册控制器。
# app/controllers/registrations_controller.rb
class RegistrationsController < Devise::RegistrationsController
def new
super
end
def create
# add custom create logic here
# Strip the fields out of the resource params and save them to
# another model then you can call super to have the method behave as it normal:
super
end
def update
super
end
end
然后将其添加到您的路线
# app/config/routes.rb
devise_for :users, :controllers => {:registrations => "registrations"}
根据您构建表单的方式,您可能需要将额外的字段添加到设计模型(通常) -如果必须,User
您可以使用它来执行此操作attr_accessor :field_name
于 2013-09-18T22:05:16.990 回答