Can you give more information on your environment? It shouldn't be
taking that long...

I'd also advise you to read more documentation; some parts of your
code are working against the Rails default conventions (for instance:
the action that creates records is typically 'create', not 'new_do').
It's a small thing, but it means that you have to do extra typing
(example: the :url option to form_for).

You may also, if you're on 2.3, want to look into the nested model
support stuff, which will handle much of what you're doing here.

--Matt Jones

On Jul 7, 4:52 pm, Leandro Maioral <[email protected]> wrote:
> Hello guys and girls, I have a problem with a method (new), it is
> using 100% of CPU for 15/20 seconds. Follow the method below:
>
> http://pastie.org/537568
>
> ## kits_controller.rb
> def new
>   @page_title = 'Add a Kit'
>   @kit = Kit.new
>
>   @num_itens = 16
>   @kit_inclusions = Array.new
>   @num_itens.times { @kit_inclusions.push(KitInclusion.new) }
>
>     render :action => 'form'
> end
>
> def new_do
>   kit = Kit.new(params[:form])
>
>   if kit.save
>     params[:kit_inclusions].each do |ki|
>       next if ki[:product_id].empty?
>
>       kit_inclusion = KitInclusion.new(ki)
>       kit_inclusion.kit_id = kit.id
>       kit_inclusion.save
>     end
>
>     flash[:notice] = 'Kit added!'
>     redirect_to :action => 'index'
>   else
>     flash[:notice] = kit.errors.full_messages.map {|fm| "<li>#{fm}</
> li>"}
>     redirect_to :action => 'new'
>   end
> end
>
> ## form.hmtl.erb
> <% form_for :form, @kit, :url => { :action => action_do } do |f| -%>
>     <% @num_itens.times do |t| -%>
>         <% fields_for "kit_inclusions[]", @kit_inclusions[t] do |i| -%>
>             <li><label><strong>Product <%= t + 1 %>:</strong></label><%=
> i.collection_select "product_id", Product.all(:conditions =>
> {:available => true}, :order => "category_id, model
> ASC"), :id, :display_for_select, {:include_blank => 'Select...'},
> {:onchange => "qntDefault(\'quantity_#{t}\');"} %><%= i.text_field
> "quantity", {:onkeydown => "return noLetters(event);", :class =>
> 'quantity', :id => "quantity_#{t}"} %></li>
>         <% end -%>
>     <% end -%>
>     <%= image_submit_tag 'btn_save.png' %></div>
>     <%= f.hidden_field :id %>
> <% end -%>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to