【发布时间】:2020-09-18 08:45:52
【问题描述】:
我按照these 的说明操作,现在在用户注册时将time_zone 作为字段。
但是,当我尝试时,用户无法编辑该字段:
Unpermitted parameter: :time_zone
我知道的
由于该方法适用于 /sign_up,我怀疑必须对 before_action 进行一些操作,以允许 time_zone 参数在其他页面上工作。例如编辑/添加到这个:
before_action :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up, keys: [:time_zone])
end
这是我最好的猜测,如果它是正确的,我不知道该怎么做。
另外,我不确定:sign_up 是指路由、控制器方法还是其他?
注意
我尝试过的
尝试 1
def configure_permitted_parameters
devise_parameter_sanitizer.permit([:sign_up, :update], keys: [:time_zone])
end
2
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up, keys: [:time_zone])
devise_parameter_sanitizer.permit(:update, keys: [:time_zone])
end
3
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up, keys: [:time_zone])
devise_parameter_sanitizer.permit(:edit, keys: [:time_zone])
end
【问题讨论】:
标签: ruby-on-rails devise ruby-on-rails-6