Rails 设计 - 添加更多属性

Rails Devise - Add more number of attributes

我一直在开发 Devise,我试图找到一种方法来从设计中为用户 table 添加更多的数据库属性。但似乎设计只支持 emailpassword 字段。

是否可以向设计添加更多字段,以便设计可以在 createupdate 调用时验证并保存给用户 table。

是的。查看他们的文档。 https://github.com/plataformatec/devise 并在页面中搜索 "strong parameters",该页面应该主要显示您要查找的内容。 一个例子:

class ApplicationController < ActionController::Base
def configure_permitted_parameters
      devise_parameter_sanitizer.for(:sign_up) { |u| u.permit({ roles: [] }, :email, :password, :password_confirmation, :first_name, :last_name, :gender, :avatar, :latitude, :longitude ) }
      devise_parameter_sanitizer.for(:account_update) { |u| u.permit({ roles: [] }, :email, :password, :password_confirmation, :current_password, :first_name, :last_name, :age, :about_me, :gender, :avatar, :latitude, :longitude ) }
    end

是的,您可以使用迁移添加更多字段。

希望下面link对你有所帮助

http://www.jacopretorius.net/2014/03/adding-custom-fields-to-your-devise-user-model-in-rails-4.html

是的,你可以像下面我为 first_namelast_name

做的那样
class RegistrationsController < Devise::RegistrationsController

  private

  def sign_up_params
    params.require(:user).permit(:first_name, :last_name, :email, :password, :password_confirmation)
  end

  def account_update_params
    params.require(:user).permit(:first_name, :last_name, :email, :password, :password_confirmation, :current_password)
  end
end