Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.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 RubyonRails-循环错误_Ruby On Rails_Ruby_Loops_Nginx_While Loop - Fatal编程技术网

Ruby on rails RubyonRails-循环错误

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

我将RubyonRails3与nginx一起使用,我有一个表单可以循环添加新记录。一切正常。除了循环。如果设置为大于14,则在第5场(设备)的回路4出现错误并停止

如果设置为14或更少,则效果完美

我认为这可能是NginX的一个限制

.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]}