【发布时间】:2017-10-09 07:54:48
【问题描述】:
我希望我的服务器在调用控制器更新操作时更新模型参数 (layout_is_public)。不过,该参数不应由用户直接更新。
我的控制器强参数:
def allowed_params
params.require(:payload).permit(:name, :layout_id)
end
我在同一个控制器中的 before_action:
def correct_layout
if allowed_params[:layout_id].present?
puts allowed_params.merge(layout_is_public: false).inspect
# puts output is as expected:
# => <ActionController::Parameters {"layout_id"=>1, "layout_is_public"=>false} permitted: true>
allowed_params = allowed_params.merge(layout_is_public: false)
end
end
我不知道如何更新我的 allowed_params 以包含新生成的参数。
我也不确定该操作是否真的应该在控制器或模型本身中执行。任何帮助将不胜感激:)
注意:为了简洁起见,layout_is_public 变量在这里设置为 false。
【问题讨论】:
标签: ruby-on-rails validation ruby-on-rails-5