Hi Litwin, Thanks a lot for the link.
I will give it a try, but from what I saw that is exactly what I am looking for. Regards, Fidel. On Sun, Sep 20, 2009 at 1:28 AM, E. Litwin <[email protected]> wrote: > > Take a look at acts_as_list - http://github.com/rails/acts_as_list > > On Sep 19, 4:25 pm, Fidel Viegas <[email protected]> wrote: >> Hi Rob, >> >> Thanks for the reply. I have managed to get this code done. What I >> wanted really was how to save and update. >> >> For instance, I want to know how to create the instance of the >> invoice, and the invoice lines. When updating the invoice, its line >> items with the respective order should be also updated in the db. >> >> If I remove one item from the list, the order of each item should be >> adjusted. >> >> Let's say I have the following invoiceitems: >> >> item, qty, price, order >> 1, 3, 12.0, 1 >> 6, 1, 23.0, 2 >> 3, 2, 11.0, 3 >> >> if I remove item with order 2, I should get the following: >> >> 1, 3, 12.0, 1 >> 3, 2, 11.0, 2 >> >> What I am after is a view + controller solution. >> >> Thanks in advance. >> >> Regards, >> >> Fidel. >> >> On Sat, Sep 19, 2009 at 11:59 PM, Rob Biedenharn >> >> <[email protected]> wrote: >> >> > On Sep 19, 2009, at 5:35 PM, Fidel Viegas wrote: >> >> Hi all, >> >> >> I am implementing a simple invoice system where I have invoiceLines, >> >> and where I want to keep the order of the lines. I have tried to >> >> google around but have not found any sample on this. >> >> >> Can someone give me a pointer to something that uses a set where the >> >> order is kept? >> >> >> Thanks in advance. >> >> >> Regards, >> >> >> Fidel. >> >> > Well, that would be an Array. Or in the likely case that your data is >> > accessed with ActiveRecord models, an AssociationProxy that will >> > behave mostly like an Array. You will probably find something like >> > the following in any reasonable discussion about the has_many/ >> > belongs_to associations. If you don't specify a default order for the >> > association, then you'll get the invoice_lines back in whatever order >> > the database prefers (often the order in which the database records >> > were created). >> >> > ## Models >> > class Invoice < ActiveRecord::Base >> > has_many :invoice_lines, :order => 'line_number' >> > end >> > class InvoiceLine < ActiveRecord::Base >> > belongs_to :invoice >> > end >> >> > ## migration (schema) >> > create_table :invoices do |t| >> > t.integer :number >> > t.date :inv_date >> > t.date :due_date >> > # etc. >> > end >> >> > create_table :invoice_lines do |t| >> > t.references :invoice >> > # equiv. to t.integer :invoice_id >> > t.integer :line_number >> > t.string :sku >> > t.integer :quantity >> > t.decimal :unit_price, :precision => 8, :scale => 2 >> > # etc. >> > end >> >> > ## use in a controller >> >> > @invoice = Invoice.find_by_number(params[:invoice][:number]) >> >> > @invoice.invoice_lines >> > #=> an array-like set of InvoiceLine records >> >> > -Rob >> >> > Rob Biedenharn http://agileconsultingllc.com >> > [email protected] >> >> > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---

