Почему f.submit не генерирует атрибут id в Rails 3.1? - PullRequest
3 голосов
/ 23 ноября 2011

У меня была проблема, из-за которой следующий скрипт jquery не работал в Rails 3.1 из-за невозможности найти элемент.

jquery

member_submit_button = $("#member_submit");

haml

= form_for @member do |f|
...
    f.submit "Update details", :class => "member_submit_button bluebutton"

В Rails 3.0 это работает нормально, и я отслеживал его до Rails 3.1, не генерирующего атрибут id.В rails 3.0 тег id = "member_submit".

Это, конечно, легко исправить, добавив параметр: id => "member_submit" к вызову f.submit.Но я хотел знать причину этого изменения, поскольку я нигде не видел этого документально.

1 Ответ

4 голосов
/ 04 декабря 2011

Я обновил Rails 3.0 до 3.1 и заметил, что одна из моих спецификаций не работает из-за того же атрибута ID.Немного погуглив, выяснилось, что это ожидаемое поведение для Rails 3.1, как указано в соответствующих примечаниях к выпуску (см. Раздел «5.3 - Представление действий») :

помощник по отправке формы больше не генерирует идентификатор «object_name_id».

Даже если мое сообщение не отвечает на ваш вопрос полностью, я не могу сказать вам, почему команда Rails решила внести это изменениеПо крайней мере, вы можете быть уверены, что это не дефект Rails, а скорее изменение в этом помощнике формы.;)

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