Mam model gry, który ma wiele: tekstów. Problem polega na tym, że muszę różnie zamawiać teksty w zależności od tego, do której gry należą (tak, brzydko, ale to dane z wcześniejszych wersji). Stworzyłem metodę Text.in_game_order_query(game)
, która zwraca odpowiednią kolejność.Odwołując się do wystąpienia w has_many (Rails)
Moim ulubionym rozwiązaniem byłoby umieszczenie domyślnego zakresu w modelu tekstowym, ale wymagałoby to znajomości gry, której są częścią. Nie chcę też tworzyć oddzielnych klas dla tekstów dla każdej gry - jest wiele gier, z których więcej pojawia się, a wszystkie nowsze używają tej samej kolejności. Więc miałem inny pomysł: Transakcja tekstów w has_many, gdy wiem, które gra są częścią:
has_many :texts, :order => Text.in_game_order_query(self)
Jednak samo jest klasą tutaj, tak, że nie działa.
Czy naprawdę nie ma innego rozwiązania oprócz wywoływania @game.texts.in_game_order(@game)
za każdym razem?
Podwójne nawiasy klamrowe dają błąd składniowy, a tylko jeden zestaw {} wokół niego mówi "Nie można odwiedzić proc". – Sprachprofi
Przepraszam literówka. Tylko jeden zestaw aparatów ortodontycznych. Ale nie jestem pewien, jeśli to działa z: porządku w ogóle. Używam go z: warunkami. Może jeśli proc nie działa, spróbuj lambda lub Proc.new –