Rails 设计 - 添加更多属性
Rails Devise - Add more number of attributes
我一直在开发 Devise,我试图找到一种方法来从设计中为用户 table 添加更多的数据库属性。但似乎设计只支持 email
和 password
字段。
是否可以向设计添加更多字段,以便设计可以在 create
、update
调用时验证并保存给用户 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_name
、last_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
我一直在开发 Devise,我试图找到一种方法来从设计中为用户 table 添加更多的数据库属性。但似乎设计只支持 email
和 password
字段。
是否可以向设计添加更多字段,以便设计可以在 create
、update
调用时验证并保存给用户 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_name
、last_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