究竟哪些内容插入块助手在Rails 3中改变了行为?

Mar*_*air 5 ruby-on-rails erb ruby-on-rails-3 rails-3-upgrade

Rails 3.0发行说明包括此更改:

7.4.2带有块的助手

帮助者喜欢form_for或者div_for插入块中的内容<%=现在使用:

<%= form_for @post do |f| %>
   ...
<% end %>
Run Code Online (Sandbox Code Playgroud)

你自己的那种助手应该返回一个字符串,而不是手工附加到输出缓冲区.

做其他事情的助手,比如cachecontent_for,不受这种变化的影响,他们需要<%像以前一样.

我们正在将Web应用程序从Rails 2.3.18迁移到Rails 3.1.12,并且拥有已更改的这些帮助程序的完整列表非常有用,这样我们就可以检查它们的所有出现情况.我们的源代码,但我找不到这种权威列表.

我已经尝试查看rails项目的git历史记录,但似乎有许多相关更改的提交,并且它们显然没有分组在特定的分支上.例如,似乎很清楚这个清单包括:

  • 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中删除.

但是,我确信这还不完整 - 有人能提供完整的清单吗?

pho*_*oet 1

我没有完整的列表,但我认为您可以通过查看 和 文档中的差异来得出大部分更改UrlHelper内容FormHelper文档中的差异得出大部分更改内容。这些帮助器中的大多数方法都更改为新语法。

http://apidock.com/rails/v2.3.8/ActionView/Helpers/UrlHelper/link_to http://apidock.com/rails/v2.3.8/ActionView/Helpers/FormHelper/form_for