Ruby on rails RubyonRails-循环错误
我将RubyonRails3与nginx一起使用,我有一个表单可以循环添加新记录。一切正常。除了循环。如果设置为大于14,则在第5场(设备)的回路4出现错误并停止 如果设置为14或更少,则效果完美 我认为这可能是NginX的一个限制Ruby on rails RubyonRails-循环错误,ruby-on-rails,ruby,loops,nginx,while-loop,Ruby On Rails,Ruby,Loops,Nginx,While Loop,我将RubyonRails3与nginx一起使用,我有一个表单可以循环添加新记录。一切正常。除了循环。如果设置为大于14,则在第5场(设备)的回路4出现错误并停止 如果设置为14或更少,则效果完美 我认为这可能是NginX的一个限制 .row-fluid .span12 - i = 1 = form_tag do %table.many_trucks %thead
.row-fluid
.span12
- i = 1
= form_tag do
%table.many_trucks
%thead
%tr
%th
%th
Origin
%th
Destination
%th
Available
%th
Expiration
%th
Equipment
%th
Comments
%tbody
- while i <= params[:truck_count].to_f
%tr{ :id => "#{i}" }
%td= i.to_s+"."
= hidden_field_tag "trucks[#{i}][user_id]", current_user.id.to_s
%td
= autocomplete_field_tag "trucks[#{i}][origin]", '', autocomplete_location_cs_loads_path, {:class => "input-small",:placeholder=>ADDRESSHOLDER}
%td
= autocomplete_field_tag "trucks[#{i}][dest]", '', autocomplete_location_cs_loads_path, {:class => "input-small", :placeholder=>ADDRESSHOLDER}
%td
= text_field_tag "trucks[#{i}][available]", '', {:class => "input-small datepicker", :placeholder=>DATEHOLDER}
%td
= text_field_tag "trucks[#{i}][expiration]", '', {:class => "input-small datepicker", :placeholder=>DATEHOLDER}
%td
= select_tag "trucks[#{i}][equipment_id]", options_for_select(Equipment.all.map{|equipment| [equipment.name, equipment.id]}), {:class => "input-medium"}
%td
= text_field_tag "trucks[#{i}][comments]"
-i +=1
%hr
=submit_tag "Post", :class => "btn btn-primary"
.row流体
.span12
-i=1
=表格
%表1.许多卡车
%泰德
%tr
%th
%th
起源
%th
目的地
%th
可用
%th
到期
%th
装备
%th
评论
%t车身
-而我#{i}
%td=i.to_s+”
=隐藏的_字段_标记“trucks[#{i}][user_id]”,当前_user.id.to_s
%运输署
=autocomplete_field_标记“trucks[#{i}][origin],'',autocomplete_location_cs_loads_path,{:class=>“input small”,:占位符=>地址持有者}
%运输署
=autocomplete_field_标记“trucks[#{i}][dest],“”,autocomplete_location_cs_loads_path,{:class=>“input small”,:占位符=>地址持有者}
%运输署
=text_field_标记“trucks[#{i}][available],“”,{:class=>“input small datepicker”,:placeholder=>DATEHOLDER}
%运输署
=text_field_标记“trucks[#{i}][expiration],“”,{:class=>“input small datepicker”,:placeholder=>DATEHOLDER}
%运输署
=选择标记“trucks[#{i}][equipment_id]”,选择选项(equipment.all.map{equipment |[equipment.name,equipment.id]}),{:class=>“input medium”}
%运输署
=text_field_tag“trucks[#{i}][comments]”
-i+=1
%人力资源
=submit_标记“Post”,:class=>“btn btn primary”
检查此行的缩进:
-i +=1
它与while循环处于同一级别。因此,从技术上讲,你正在做:
while i <= params[:truck_count].to_i do # !! This is what you want to do (to_i)
...
end
i += 1
导致错误的原因。可能是暂停或什么的
希望能有所帮助。您能去掉多余的代码,让所有试图查看您的代码的人都能更清楚地看到您的代码吗。只留下错误的循环,而不是粘贴整个文件。为什么在循环中将代码< > PARAM[[ TrkkyCalue] < /COD>转换为<代码>浮点< /代码>?在循环中将它与<代码> int >代码>进行比较。也请张贴所引发的错误。为什么不考虑保存这个<代码> OpthssFoSeLead(设备?所有。map {设备)[equipment.name,equipment.id]})将添加到变量中。然后只需将该变量作为参数添加到
select_标记
。代码所做的是(如果禁用sql缓存)对于每个循环,它都会查询数据库以获得所有可用的设备。好的方面…将对此进行修改..我粘贴了整个文件,因为我讨厌HAML,因为我在发现一个问题之前已经被困了两周,所以需要做的只是缩进表单。。。
Equipment.all.map{|equipment| [equipment.name, equipment.id]}