W modelu user chcę, żeby przy params[:order] == ‘1’ wyświetlało mi użytkowników po karma DESC, w pozostałych przypadkach po id DESC. Pierwsza wersja wyglądałą tak jak poniżej, niestety cały czas było po id DESC, obojętnie czy był params[:order] == 1 czy nie.
def self.search(params)
scope = self.order('id DESC')
scope = scope.order('karma DESC') if params[:order] == '1'
scope = scope.page(params[:page]).per_page(20)
end
Poprawiłem to tak jak jest tutaj, bo zauważyłem, że chyba jak już raz ustawię self.order to kolejne self.order nie działa. Będę wdzięczny za informację, dlaczego tak się dzieje i czy dobrze myślę.
def self.search(params)
params[:order] == '1' ? scope = self.order('karma DESC') : scope = self.order('id DESC')
scope = scope.page(params[:page]).per_page(20)
end