簡體   English   中英

Ruby on Rails-循環錯誤

[英]Ruby on Rails - Loop Erroring

我在nginx上使用Ruby on Rails 3,並且我有一個循環添加新記錄的表單。 一切正常。 除循環外。 如果設置為14以上,它將在循環4 @字段5(設備)處出錯並停止...

如果您將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"

檢查此行的縮進:

-i +=1

它與while循環處於同一級別。 因此,從技術上講,您正在執行:

while i <= params[:truck_count].to_i do # !! This is what you want to do (to_i)
  ...
end
i += 1

這是一個取決於params[:truck_count].to_f的無限循環。 我也懷疑每次在循環內查詢數據庫(如我的評論之一所述):

Equipment.all.map{|equipment| [equipment.name, equipment.id]}

導致錯誤。 可能是超時或某事。

希望能幫助到你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM