【发布时间】:2016-04-19 10:24:54
【问题描述】:
我正在做一个可以在特定情况下禁用的集合选择。 但是当我禁用该表单内容时,我仍然从选择中选择一个值,这样即使它被禁用,我也可以提交带有该字段值的表单。
事实上,当表单没有被禁用并且用户必须选择一些东西时,它会将用户输入的值发送到 rails 服务器。但是当它被禁用并且用户无法选择时,它仍然应该将我选择的默认值发送到服务器,但是它发送 nil。
这是 HAML 中的 collection_select:
= f.collection_select :billing, Task.billings.keys, :to_s, :humanize,
{ selected: ( "inherit" if @parent_task_id ) },
{ class: "form-control #{(Task.find(@parent_task_id).billing != "unspecified") if !@parent_task_id.nil?}",
disabled: ( (Task.find(@parent_task_id).billing != "unspecified") if !@parent_task_id.nil? ) }
当我查看浏览器中的元素时(在禁用的情况下),它说选择了“继承”。
这是一个经典的 Rails 规则,当表单内容被禁用时,它不会获取它的值并将 nil 作为参数发送到服务器?
感谢您的帮助! :)
【问题讨论】:
标签: ruby-on-rails forms