0

问候,

我一直在努力为我的应用程序定制我的设计注册表单,试图理清设计是如何处理事情的有点痛苦。我的表单是自定义的,但我的新字段中的属性没有保存到数据库中。我看了这样的解决方案:http ://blog.12spokes.com/web-design-development/adding-custom-fields-to-your-devise-user-model-in-rails-4/(是的,它适用于rails 4)但是....感觉不是最干净的方法。我想知道现在是否有更有效的方法来做到这一点。您是否建议将与 Devise 身份验证无关的其他用户信息移动到新表中?如果是这样,我可以在 Devise 注册表单中放置一些嵌套元素的字段,而无需完成上述解决方案中的所有业务。提前致谢!

4

1 回答 1

1

如何尝试使用devise_parameter_sanitizer

application_controller.rb

class ApplicationController < ActionController::Base
  before_filter :configure_permitted_parameters, if: :devise_controller?

  private
    def configure_permitted_parameters
      devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:additional_field1, :additional_field2, :email, :password, :password_confirmation) }
    end
end

然后在您的User模型上,您可以简单地添加验证:

用户.rb

class User < ActiveRecord::Base
  validates :additional_field1, presence: true
  validates :additional_field2, uniqueness: true
end
于 2013-10-16T05:53:10.590 回答