【发布时间】:2010-01-05 13:41:49
【问题描述】:
我了解在执行以下操作时传递给 form_for 方法的内容:
<% form_for(@user) do |f| %> ... <% end %>
如果在控制器中设置了@user。这很明显。
但是当我们通过:user 时会发生什么,正如我在许多示例中看到的那样?
<% form_for(:user) do |f| %> ... <% end %>
什么时候应该使用符号版本?
【问题讨论】:
我了解在执行以下操作时传递给 form_for 方法的内容:
<% form_for(@user) do |f| %> ... <% end %>
如果在控制器中设置了@user。这很明显。
但是当我们通过:user 时会发生什么,正如我在许多示例中看到的那样?
<% form_for(:user) do |f| %> ... <% end %>
什么时候应该使用符号版本?
【问题讨论】:
使用符号会生成:
<form action="/users" method="post">
使用对象@user 设置为新的你得到:
<form action="/users" class="new_user" id="new_user" method="post">
如果您将@user 设置为其他值,它当然会更改生成的表单标签 ...自己尝试一下。
最后,这一切都取决于您要做什么。如果您在同一页面上有多个 :user 表单,则可能需要使用该符号。
【讨论】:
/users)。虽然,我得到了与你在类和 id 的代码块中提到的相同的东西。