Pytanko o routes

Mam w routes.rb ustawione:

resources :entries

Jak zrobić, żeby [color=blue]/links[/color] kierowało na to samo co [color=blue]entries?type=0[/color] i jeżeli się da, żebym miał helper links_path

nie testowane co prawda, ale spróbuj:

match “/links” => “entries#index”, :as => :links, :defaults => { :type => 0 }

Dzieki, działa. To jeszcze, żeby nie wrzucać do Zakładu Patologii Kodu :slight_smile:
Da się to jakoś w jedną strukturę ogarnąć?

match '/linki' => 'entries#index', as: :links, defaults: {type: 0} match '/posty' => 'entries#index', as: :posts, defaults: {type: 2}

Co prawda nie czuję się osobą w pełni kompetentną w kwestiach routingu, ale według mnie nie da się tego uprościć, oraz nie ma sensu (jeżeli są faktycznie tylko dwa przypadki).

Ok, a jeszcze jedno, mam teraz sortowanie w oparciu o params[:order] == 0, 1 albo 2
0 == popularne
1 == nowe
2 == najlepsze
I teraz chciałbym zrobić coś takiego, że mam /linki/popularne , /linki/nowe, /linki/najlepsze i podobnie z postami. Jak to najlepiej ogarnac?
Bo teoretycznie mógłbym wszystkie kombinacje opisać ręcznie np.

match '/linki/popularne' =>'entries#index', as: :popular_links, defaults: {type:0, order:0} match '/linki/nowe' =>'entries#index', as: :new_links, defaults: {type:0, order:1} itd.
ale to chyba w jakiś blok da się złapać?

match '/linki/:order' =>'entries#index', as: :ordered_links, defaults: {type:0}, :order => /najlepsze|nowe|popularne/

To powinno zadziałać. Nie testowałem.
I metoda do generowania linków:

ordered_links_path('najlepsze')

Zweryfikuj to, czy działa i daj znać.

Ale nie widzę tutaj nigdzie ustawianego params[:order] na 0,1,2