sw0rdfish
2007-Sep-19 19:45 UTC
Updating postitions in an acts as list model, with tet fields...
Hey all. I''m trying to copy this example I found, which I''m assuming no longer works.... that or I''m stupid... I want to have the position for each "row" show up ina box, with a "update position" button that submits the form, and updates the position... in retropect I shuld have used the Draggable effect in Scriptaculous, it would have been faster. Anyway, now I''m wondering how I would do this... Any help would be great. I get a parameter that holds everything I want {"commit"=>"Update Positions", "rate_group_additional_rate"=>{"1488"=>{"position"=>"6"}, "948"=>{"position"=>"1"}, "949"=>{"position"=>"2"}, "1396"=>{"position"=>"5"}, "950"=>{"position"=>"3"}, "951"=>{"position"=>"4"}}} where rate_group_additional_rate is the model''s position I want to upgrade. ________________________________________________________________ http://lists.rubyonrails.org/pipermail/rails/2005-February/002489.html class PurchaseOrdersController < ApplicationController def new @purchase_order = PurchaseOrder.new(@params[''purchase_order'']) @order_items = @purchase_order.items end end Then, in your view (new.rhtml, for example): <% @order_items.each do |@order_item| %> <%= text_field "order_item[]", "name" %> <%= text_field "order_item[]", "price" %> ... etc ... <% end %> The trailing square brackets after the object name (order_item[]) tells Rails to automatically add the index ("id" field) of that order_item to the form element (a text field in this case). So you''ll get HTML like this, for example: <input type="text" name="order_item[33][name]" ... > <input type="text" name="order_item[33][price]" ... > <input type="text" name="order_item[39][name]" ... > <input type="text" name="order_item[39][price]" ... > This is especially handy for the new 0.9.5 "update" method which will take a hash of hashes and update the correct IDs: def create OrderItem.update @params[''order_item''] #Updates both items 33 and 39 end ________________________________________________________________ The first part works great, I can''t seem to get my head around how to update all the "Order Items" in this case. When I type the exmple as it is below, I get a "wrong number of arguments (1 for 2)" error. --~--~---------~--~----~------------~-------~--~----~ 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---