2010-01-05 2 views
6

컨트롤러에서 @user이 설정된 경우Ruby on Rails : form_for의 인수로 기호

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

과 같은 것을 수행 할 때 form_for 메서드로 전달되는 내용을 이해합니다. 이것은 꽤 분명합니다.

그러나 많은 예제에서 보았 듯이 :user을 전달하면 어떻게됩니까?

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

언제 기호 버전을 사용해야합니까?

+0

가능한 복제본 [인스턴스 변수 대 루비의 기호 (양식 \ _for)] (http://stackoverflow.com/questions/957204/instance-variable-vs-symbol-in-ruby-on-rails) -form-for) –

답변

7

생성 기호를 사용하여 :

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

를 당신이 얻을 새로운 설정 객체 @user 사용 : 당신이 뭔가 다른 @user을 설정하면

<form action="https://stackoverflow.com/users/create" class="new_user" id="new_user" method="post"> 

이 생성 된 폼 태그를 변경됩니다 , 당연히 ... 너 자신을 위해 그것을 밖으로 시도하십시오.

결국 모든 것은 수행하려는 작업에 달려 있습니다. 동일한 페이지에 사용자 양식이 여러 개인 경우 심볼을 사용할 수 있습니다.

+0

나는 이것을 시험해 봤지만 행동 값은 변하지 않는다 (그것은'/ users'로 남아있다). 비록 클래스와 ID에 대한 코드 블록에서 언급 한 것과 같은 것을 얻습니다. – Mark