Ruby on Rails: символ в качестве аргумента в form_for
Я понимаю, что передается form_for
метод при выполнении чего-то вроде:
<% form_for(@user) do |f| %> ... <% end %>
если @user
устанавливается в контроллере. Это довольно очевидно.
Но что происходит, когда мы проходим :user
как я видел много примеров?
<% form_for(:user) do |f| %> ... <% end %>
Когда я должен использовать версию символа?
1 ответ
Решение
Использование символа сгенерирует:
<form action="/users" method="post">
Используя объект @user, установленный на новый, вы получите:
<form action="/users/create" class="new_user" id="new_user" method="post">
Если вы установите @user на что-то другое, это, конечно, изменит сгенерированный тег формы... попробуйте сами.
В конце концов все зависит от того, что вы пытаетесь сделать. Возможно, вы захотите использовать символ, если у вас есть несколько пользовательских форм на одной странице.