2010-08-14 9 views
19

내가 "사용자 설정 양식"을 만들고 있어요, 그리고 HAML 함께 붙어 (들여 쓰기?) :HAML : 때 form_tag 딜레마

= form_tag('/') 
    - [1,2,3].each do |i| 
    = check_box_tag "accept#{i}" 
    = submit_tag 

이 결과 "구문 오류, 예기치 못한 kENSURE, 결국 $ 기대".

작업 변종

= form_tag('/') 
    - [1,2,3].each do |i| 
    = check_box_tag "accept#{i}" 
    = submit_tag 

<input id="accept1" name="accept1" type="checkbox" value="1" /> 
    <input name="commit" type="submit" value="Save changes" /> 
    <input id="accept2" name="accept2" type="checkbox" value="1" /> 
    <input name="commit" type="submit" value="Save changes" /> 
    <input id="accept3" name="accept3" type="checkbox" value="1" /> 
    <input name="commit" type="submit" value="Save changes" /> 
    <form action="/" method="post"><div style="margin:0;padding:0;display:inline"><input name="authenticity_token" type="hidden" value="tuniieYp9hgvGBMaYDjK2l3Mgjpxo9F1LPzqEF4ykHg=" /></div> 

잘못의 결과입니다 : 양식 태그 외부 제어, 3 번 버튼을 제출합니다.

수정에 대한 아이디어가 있으면 알려 주시면 감사하겠습니다. 고맙습니다!

+0

적절한 작업 변형 표시 수정하세요. – Reactormonk

답변

35

블록을 form_tag에 전달해야합니다. 나는 당신이 원하는 생각 :

레일 2.X :

- form_tag('/') do 
    - [1, 2, 3].each do |i| 
    = check_box_tag "accept#{i}" 
    = submit_tag 

레일 3+ :

= form_tag('/') do 
    - [1, 2, 3].each do |i| 
    = check_box_tag "accept#{i}" 
    = submit_tag 
+8

이 대답은 저에게 효과적이지 않습니다. =를 사용하면 양식을 실제로 출력 할 수 있습니다.'= form_tag ('/') do' – Sutulustus

+4

저는 이것이 레일즈 3 (?)의 변화라고 생각합니다. 대답은 3 세 이상이며 Rails 3 이전입니다. – nirvdrum