Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails HAML:表格标签困境(缩进?)_Ruby On Rails_Haml - Fatal编程技术网

Ruby on rails HAML:表格标签困境(缩进?)

Ruby on rails HAML:表格标签困境(缩进?),ruby-on-rails,haml,Ruby On Rails,Haml,我正在制作“用户设置表”,并坚持使用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

我正在制作“用户设置表”,并坚持使用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>

错误:控件位于表单标签外,3次提交按钮


如有任何关于修复的想法,将不胜感激。谢谢大家!

您应该传递一个块以形成标签。我想你想要:

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

请编辑以正确显示工作变量。此答案对我不适用。您应该使用=以便表单将实际打印出来
=form_tag('/')do
我认为这是Rails 3(?)中的一个变化。答案是3岁以上,早于Rails 3。