Я делаю" форму настроек пользователя ", и застрял с HAML:
= form_tag('/')
- [1,2,3].each do |i|
= check_box_tag "accept#{i}"
= submit_tag
Это приводит к «синтаксической ошибке, неожиданному kENSURE, ожидающему $ end».
Рабочий вариант -
= 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>
Wrong: управляет внешним тегом формы, 3 раза кнопка отправки.
Любые идеи по установке будут оценены. Спасибо!
Вы должны передать блок в form_tag. Думаю, вам нужно:
Rails 2.x:
- form_tag('/') do
- [1, 2, 3].each do |i|
= check_box_tag "accept#{i}"
= submit_tag
Rails 3 +:
= form_tag('/') do
- [1, 2, 3].each do |i|
= check_box_tag "accept#{i}"
= submit_tag