符号作为参数,我明白做这样的事情是什么时,传递给form_for
方法:Ruby on Rails的:在的form_for
<% form_for(@user) do |f| %> ... <% end %>
如果@user
被设置在控制器中。这很明显。
但是当我们通过:user
会发生什么,正如我在许多例子中看到的那样?
<% form_for(:user) do |f| %> ... <% end %>
什么时候应该使用符号版本?
符号作为参数,我明白做这样的事情是什么时,传递给form_for
方法:Ruby on Rails的:在的form_for
<% form_for(@user) do |f| %> ... <% end %>
如果@user
被设置在控制器中。这很明显。
但是当我们通过:user
会发生什么,正如我在许多例子中看到的那样?
<% form_for(:user) do |f| %> ... <% end %>
什么时候应该使用符号版本?
使用符号将生成:
<form action="/users" method="post">
使用对象@user设为新的你:
<form action="https://stackoverflow.com/users/create" class="new_user" id="new_user" method="post">
如果设置@user到别的它将改变产生的表单标签,当然是 ...自己尝试一下。
最后,这一切都取决于你想要做什么。如果在同一页面上有多个:用户表单,则可能需要使用此符号。
我确实给了这个测试,但是action的值并没有改变(它仍然是'/ users')。尽管,我得到了和你在类和id的代码块中提到的一样的东西。 – Mark 2017-11-20 17:22:20
可能重复[实例变量与符号在轨道上的红宝石(窗体\ _for)](http://stackoverflow.com/questions/957204/instance-variable-vs-symbol-in-ruby-on-rails -form-for) – 2014-02-17 01:43:47