act_as_list osobne pozycje dla każdego wydarzenia

https://github.com/regedarek/ekorezerwacja/blob/master/app/controllers/seats_controller.rb
Każde wydarzenie ma wielu użytkowników oraz wiele miejsc.
Sortuję użytkowników po kolumnie :position.

<% seats.sort_by{|seat| seat.position}.each do |seat| %>

Chcę aby każde wydarzenie było sortowane osobno. Jak się do tego zabrać? Czy będę musiał tworzyć dla każdego wydarzenia osobną kolumnę position?(tyle, że jak zinterpretuje to act_as_list) Czy da się aby korzystać z tej jednej kolumny? Jeżeli możecie mnie jakoś nakierować, byłbym wdzięczny.

Nie wiem czy dobrze rozumiem chcesz coś takiego:

Wydarzenie ma wielu użytkowników i tych użytkowników przypisanych do tego konkretnego wydarzenia chcesz mieć posortowanych po kolumnie position?

Tak, tylko problemem jest to, że wyszystkie wydarzenia korzystają z jednej kolumny position, a każde z nich ma inny zestaw użytkowników.
Np.
Wydarzenie 1

  • uzytkownik 1 pozycja 1
  • uzytkownik 3 pozcycja 2
  • uzytkownik 4 pozycja 3

Wydarzenie 2
-uzytkownik 5 pozycja 4
-uzytkownik 1 pozycja 1(jest ustawiona taka jak w wyd 1 bo to ta sama kolumna)

  • uzytkownik 2 pozycja 5
    -uzytkownik 4 pozycja 3

A chcę aby każde wydarzenie mialo pozycje osobno

Problem jest raczej w zapisywaniu pozycji przy dodawaniu uzytkownika

mozna to zobaczyc na http://ekorozwoj.heroku.com

Jeśli chcesz by dla każdego zdarzenia użytkownicy byli sortowani według pozycji, mimo że jest ta sama znowu (tutaj jedynka to nic trudnego). Wystarczy że dodasz w modelu warunek order do złączenia. Czyli:

has_many :users, :order => ‘position’

dzięki temu każdy seat.users będzie poukładany. Nie wiem czy o to ci chodzi. Jak nie to daj znać. ;]

Jak zacyznasz używać jakiegoś gema to przede wszystkim przeczytaj README.

Znajdziesz tu przykład.

Albo dokumentację:
http://rdoc.info/github/rails/acts_as_list/master/ActiveRecord/Acts/List/ClassMethods:acts_as_list
Gdzie masz opisane opcje dla metody acts_as_list.

Interesuje Cię :scope. O ile dobrze zrozumiałem, że chcesz osiągnąć osobne listy miejsc dla każdego eventu.