release notes for Rails 3.0 включают это изменение:Точно, какие помощники блока содержимого вносили изменения в Rails 3?
7.4.2 Помощники с блоками
Помощников как
form_for
илиdiv_for
, которые вставляют содержимое с использованием блока<%=
теперь:<%= form_for @post do |f| %> ... <% end %>
Ваш собственный ожидается, что помощники такого типа вернут строку, а не добавят ее в буфер вывода вручную.
Помощники, которые делают что-то еще, например
cache
илиcontent_for
, не изменяются при этом изменении, им необходимо<%
, как и раньше.
Мы осуществляем миграцию веб-приложения из Rails 2.3.18 в Rails 3.1.12, и было бы очень полезно иметь полный список таких помощников, которые изменились, чтобы мы могли проверьте все их вхождения в нашем исходном коде, но мне трудно найти такой авторитетный список.
Я попытался просмотреть историю git rails project, но, похоже, у меня много коммитов со связанными изменениями, и они явно не сгруппированы по определенной ветви. Например, это, кажется, ясно, что этот список включает в себя:
form_for
form_tag
fields_for
field_set_tag
... от 7b622786f,
link_to
... упоминалась в e98474096 и:
div_for
content_tag_for
... упоминалась в e8d2f48cff
remote_form_for
.... упоминалась в 0982db91f, хотя он удален в Rails 3.
Однако, я уверен, что это не полный - кто может предоставить полный список?
[Упрощение помощников блока рельсов по Иегуде Кац] (http://yehudakatz.com/2009/08/31/simplifying-rails-block-helpers-with-a-side-of-rubinius/) содержит некоторые информацию о причинах принятия решения и подробностях о реализации на низком уровне. Он может дать некоторые подсказки о том, где искать ответ, к сожалению, он не содержит полного списка, в котором помощники менялись. –