Ich versuche, eine Route zu erstellen, die wie folgt aussieht: acme.com/posts/:category/:status
. Beide :category
y :status
sind fakultativ. Ich habe viele Varianten geschrieben, aber keine hat funktioniert:
resources :posts do
match '(/:category)(/:status)', to: 'posts#index', as: 'filter', on: :collection
end
# Category Links
link_to "Questions", filter_posts_path(:questions)
link_to "Suggestions", filter_posts_path(:suggestions)
# Status Links
link_to "Published", filter_posts_path(params[:category], :published)
link_to "Draft", filter_posts_path(params[:category], :draft)
Die Idee ist, in der Lage zu sein 1) nach Kategorie filtern , 2) nach Status filtern , und 3) nach Kategorie und Status filtern, wenn beides vorhanden ist . Die aktuelle Konfiguration hat auch meine /posts/new
Pfad und leitet immer weiter zu posts#index
.