Правильное использование: отключена опция для text_field в Rails 2.3? - PullRequest
2 голосов
/ 20 мая 2009

Я только что обновил Rails 2.3.2 с Rails 2.1 и заметил проблему с использованием опции :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 ]

6 голосов
/ 20 мая 2009

Они избавились от is_boolean_field? в рельсах 2.3. Это просто boolean_field? сейчас.

так:

f.text_field :amount, :disabled => @my_object.disabled?, :class => 'my_class'

должно работать нормально.

4 голосов
/ 21 мая 2009

Пожалуйста, игнорируйте эту тему. У меня была проблема с Javascript.

Добавление: disabled => false добавляет «disabled = ''" в поле формы, которое правильно не отключает поле формы в конце концов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...