为什么form_tag和form_for的使用会在rails(erb)中发生变化?

时间:2012-11-28 14:39:54

标签: ruby-on-rails ruby ruby-on-rails-3 erb

旧用法:

<% form_tag %>
...
<% end %>

<% form_for %>
....
<% end %>

新用法:

<%= form_tag %>
...
<% end %>

<%= form_for %>
....
<% end %>

(我正在学习Head First Rails并了解this list

中的差异

我知道scriptlet在=中不需要<>,但如果<%= form_tag %>不是scriptlet,为什么需要<% end %>

有没有人有这方面的想法?

2 个答案:

答案 0 :(得分:3)

首先,我不知道什么是'scriplet';无论如何,这是rails 3.0的变化 - 请参阅发行说明:http://guides.rubyonrails.org/3_0_release_notes.html#helpers-with-blocks

答案 1 :(得分:1)

Rails 3带来了API的整体一致性,在本例中是视图API。

规则是:

(want_to_display?) ? (use =) : (don't use =)