我刚刚从Rails 2.1更新到Rails 2.3.2,并注意到:disabled在输入字段上使用该选项的问题.
以前我们使用此选项作为布尔值,因此我们将指示是否要根据对象上的方法禁用字段,例如
f.text_field :amount, :disabled => @my_object.is_disabled?, :class => 'my_class'
Run Code Online (Sandbox Code Playgroud)
这在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 %>
Run Code Online (Sandbox Code Playgroud)
当然我在这里错过了一些东西?
他们摆脱了is_boolean_field?在轨道2.3.它只是boolean_field?现在.
所以:
f.text_field :amount, :disabled => @my_object.disabled?, :class => 'my_class'
Run Code Online (Sandbox Code Playgroud)
应该工作正常.
| 归档时间: |
|
| 查看次数: |
8358 次 |
| 最近记录: |