我正在使用rails和devise进行身份验证(用户名 - email -password),我使用best_in_place从另一个控制器(配置文件)编辑用户的另一个属性(age - ..),但我在更新字段属性时使用它即使我重新加载页面也不会保存(这不是一个jquery问题),所以我应该怎么做
答案 0 :(得分:0)
您是否在更新前清理Devise参数?在ApplicationController中添加如下内容:
before_filter :update_sanitized_params, if: :devise_controller?
def update_sanitized_params
devise_parameter_sanitizer.for(:sign_up) << :name
devise_parameter_sanitizer.for(:account_update) << [:name, :avatar, :remote_avatar_url]
end
您的更新操作无法正常工作的另一个原因可能是,您不允许在您的ProfilesController中添加其他字段。
def user_params
accessible = [ :name, :email,:age... ] # extend with your own params
params.require(:user).permit(accessible)
end
我希望这会有所帮助。