[英]Permit custom created params in rails
我已经阅读了以下帖子,但没有得到满意的答案:
在特殊情况下,在Rails 4中使用强参数可以允许额外的参数
我想要的是允许我在Rails控制器中自定义创建的参数:
我的密码
模板
= form_tag ...
= select_tag :hour, options_for_select(options_for_hours), name: "clinic_hour[close_time][]", title: "Hours"
= select_tag :minute, options_for_select(options_for_minutes), name: "clinic_hour[close_time][]", title: "Minutes"
= select_tag :convention, options_for_select([["AM", "AM"], ["PM", "PM"]]), name: "clinic_hour[close_time][]"
= submit_tag ...
上面的代码创建如下参数 :
Parameters: {"clinic_hour"=>{"close_time"=>["0", "0", "AM"]}}
但是在控制器中...
调节器
当我喜欢时:
def clinic_hour_params
params.require(:clinic_hour).permit(
:close_time
)
end
它仍然在Rails服务器日志中这样说:
Unpermitted parameters: close_time
{}
怎么了?
如果查看“ 允许的标量值”下的“强参数的自述文件”,您将看到,由于您正在使用标量值数组,因此必须这样表示:
def clinic_hour_params
params.require(:clinic_hour).permit(
close_time: []
)
end
您在这里有一个数组,这意味着您需要专门告诉接受数组。 尝试这个:
def clinic_hour_params
params.require(:clinic_hour).permit(
:close_time => []
)
end
同样在https://github.com/rails/strong_parameters上,您可以看到哪些类型都是“可允许的”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.