我刚刚从Rails 2.1更新到Rails 2.3.2,并注意到在输入字段上使用:disabled
选项时遇到的问题。
以前我们使用此选项作为布尔值,因此我们会指出是否要根据对象上的方法禁用字段,例如
f.text_field :amount, :disabled => @my_object.is_disabled?, :class => 'my_class'
这在Rails 2.1中运行良好 - 如果is_disabled?
返回true,表单字段将被禁用,否则不会。
然而,在Rails 2.3中,情况并非如此。无论:disabled
的值如何,表单字段都将被禁用。
这是否意味着我必须在我的if
声明中加上f.text_field
声明,例如:
<% if @my_object.is_disabled? %>
<%= f.text_field :amount, :disabled => 'disabled', :class => 'my_class' %>
<% else %>
<%= f.text_field :amount, :class => 'my_class' %>
<% end %>
我肯定在这里遗漏了什么?
答案 0 :(得分:6)
他们摆脱了is_boolean_field?在轨道2.3。它只是boolean_field?现在。
这样:
f.text_field :amount, :disabled => @my_object.disabled?, :class => 'my_class'
应该可以正常工作。
答案 1 :(得分:4)
请忽略此主题。我遇到的问题实际上是使用Javascript。
添加:禁用=&gt; false将“disabled =''”添加到表单字段中,而