Ruby on Rails: символ в качестве аргумента в form_for - PullRequest
6 голосов
/ 05 января 2010

Я понимаю, что передается методу form_for при выполнении чего-то вроде:

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

, если в контроллере установлено @user. Это довольно очевидно.

Но что происходит, когда мы передаем :user, как я видел во многих примерах?

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

Когда я должен использовать версию символа?

1 Ответ

8 голосов
/ 05 января 2010

Использование символа сгенерирует:

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

Используя объект @user, установленный на новый, вы получаете:

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

Если вы установите @user на что-то другое, это, конечно, изменит сгенерированный тег формы. ... попробуй сам.

В конце концов, все зависит от того, что вы пытаетесь сделать. Возможно, вы захотите использовать символ, если у вас есть несколько пользовательских форм на одной странице.

...