正确使用:Rails 2.3中text_field的禁用选项?

时间:2009-05-20 12:36:36

标签: ruby-on-rails

我刚刚从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 %>

我肯定在这里遗漏了什么?

2 个答案:

答案 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 =''”添加到表单字段中,而