Есть несколько способов сделать это.
Ваш URL выглядит как "тщеславный" URL, который существовал бы в дополнение к обычному маршруту RESTful (galleries/:gallery_id/entries/:entry_id
).Разница в том, что вы не хотите показывать просто запись галереи.
Если вы хотите специально провести различие между различными представлениями одного и того же ресурса, существует ряд способовГотово, два, которые я бы рассмотрел в первую очередь, это добавление другого действия или добавление неоднозначного параметра запроса.В данном случае это гибрид, поэтому я бы, вероятно, создал пользовательский метод сопоставления и контроллера.
Отображение может выглядеть следующим образом:
match ':galleryName/:entryName' => 'gallery#highlight_entry' # Or whatever
Действие будет (более или менее)):
def highlight_entry
@gallery = Gallery.find_by_name(...)
@entries = @gallery.entries
@highlighted_entry = # pull from @entries, or retrieve
# Also, filter entries/etc. so the highlighted one doesn't show up
# etc
end