7

我了解form_for在执行以下操作时传递给该方法的内容:

<% form_for(@user) do |f| %> ... <% end %>

如果@user在控制器中设置。这很明显。

但是当我们通过时会发生什么:user,正如我在许多例子中看到的那样?

<% form_for(:user) do |f| %> ... <% end %>

我什么时候应该使用符号版本?

4

1 回答 1

8

使用该符号将生成:

<form action="/users" method="post">

使用对象 @user 设置为 new 你得到:

<form action="/users" class="new_user" id="new_user" method="post">

如果您将@user 设置为其他内容,它会更改生成的表单标签,当然……您可以自己尝试一下。

最后,这一切都取决于您要做什么。如果您在同一页面上有多个 :user 表单,则可能需要使用该符号。

于 2010-01-05T13:47:29.463 回答