HAML:form_tag困境(缩进?) [英] HAML: form_tag dilemma (indentation?)

查看:64
本文介绍了HAML:form_tag困境(缩进?)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在制作用户设置表单",并坚持使用HAML:

I'm making "user settings form", and stuck with HAML:

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

这将导致语法错误,意外的kENSURE,期望$ end".

This results in "syntax error, unexpected kENSURE, expecting $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>

错误:在表单标签外部进行控制,3次提交按钮.

Wrong: controls outside form tag, 3 times submit button.

任何有关修复的想法将不胜感激.谢谢!

Any ideas on fixing would be appreciated. Thank you!

推荐答案

您应该将一个块传递给form_tag.我想你想要

You should be passing a block to form_tag. I think you want:

Rails 2.x:

Rails 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

这篇关于HAML:form_tag困境(缩进?)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆