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

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

  ...  

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

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

  ...  

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

使用该符号将生成:

 

使用@user设置为new的对象,您将获得:

 

如果你将@user设置为其他东西,它将改变生成的表单标签,当然……自己试试吧。

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