Ruby on rails 使用Desive gem将其他属性保存到用户模型
我已经通过Desive gem创建了一个用户模型,允许注册时使用电子邮件、名字和密码Ruby on rails 使用Desive gem将其他属性保存到用户模型,ruby-on-rails,ruby-on-rails-4,devise,Ruby On Rails,Ruby On Rails 4,Devise,我已经通过Desive gem创建了一个用户模型,允许注册时使用电子邮件、名字和密码 def configure_permitted_parameters devise_parameter_sanitizer.for(:sign_up) << :first_name end 为了在编辑/更新期间接受用户模型中的其他属性,是否仍需要创建UsersController参数.require(:user.permit!)!在用户控制器中,我注意到heroku生产中出现了这种中断
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) << :first_name
end
为了在编辑/更新期间接受用户模型中的其他属性,是否仍需要创建UsersControllerdef user_params
params.require(:user).permit!
end
谢谢试试这个:
class ApplicationController < ActionController::Base
protect_from_forgery
before_filter :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
devise_parameter_sanitizer.for(:user) << :first_name
end
end
class ApplicationController 设计参数消毒剂。对于(:user)将以下过滤器添加到应用程序控制器:
before_action :configure_permitted_parameters, if: :devise_controller?
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) { |u| u.permit( :first_name, :email, :password, :password_confirmation) }
end
这是报名用的。要更新用户信息,请在configure_Allowed_parameters筛选器中添加以下代码行
devise_parameter_sanitizer.for(:account_update) { |u| u.permit(:first_name, :email, :password, :password_confirmation, :current_password) }
如果我再添加20个属性呢?我必须把它们都列出来吗?有更简单的方法吗?目前我只是使用>>参数.require(:user.permit!)!在用户控制器中,我注意到heroku生产中出现了这种中断?你有过同样的经历吗?
devise_parameter_sanitizer.for(:account_update) { |u| u.permit(:first_name, :email, :password, :password_confirmation, :current_password) }