【问题标题】:Rails : devise and best_in_placeRails:设计和 best_in_place
【发布时间】:2014-11-04 11:22:51
【问题描述】:
我正在使用 rails 并设计用于身份验证(用户名 - 电子邮件 - 密码),我使用 best_in_place 从另一个控制器(配置文件)编辑用户(年龄 - ..)的另一个属性,但是我在更新字段属性时它即使我重新加载页面也没有保存(这不是jquery问题),所以我该怎么办
【问题讨论】:
标签:
ruby-on-rails
devise
controller
best-in-place
【解决方案1】:
您是否在更新前清理设计参数?在您的 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
我希望这会有所帮助。