Ruby on Rails:在form_for中作为参数的符号

时间:2010-01-05 13:41:50

标签: ruby-on-rails form-for

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

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

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

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

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

我应该何时使用符号版本?

1 个答案:

答案 0 :(得分:8)

使用该符号将生成:

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

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

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

如果将@user设置为其他内容,则会更改生成的表单标记 ......亲自尝试一下。

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