Я пытаюсь создать маршруты в моем приложении rails. Приложение имеет жанр фильма и жанра столбцов. Я хочу сделать такие маршруты:/movies-genre-horror и показать все фильмы с жанровым ужасом. Действительно ли это возможно? Если да, может кто подскажет, как это сделать? Было бы неплохо, если бы это было учебное пособие. Я сделал так:/movies/genre/horror, и он работает. Я использую gem friendly_id и использую slug, чтобы изменить жанр, который не подходит для URL.Ruby on Rails генерирует маршрутизацию
0
A
ответ
0
Добавить маршрут по умолчанию к вашему routes.rb
. В самом конце вобще
match ":default" => "foo#default"
И внутри foo_controller.rb
def default
# here are your params
parts = params[:default].split("-")
controller = parts[0]
action = parts[1]
genre = parts[2]
records = Movie.where(genre: genre)
if records.count > 0
# redirect to your controller aciton
else
raise ActionController::RoutingError.new('Not Found')
end
end
Это не проверял, но я думаю, вы должны получить точку.
Смежные вопросы
- 1. Ruby On Rails --api
- 2. Suburl's ruby on rails
- 3. Почему Ruby on Rails правильно генерирует HTML-уведомление?
- 4. Ruby on Rails не генерирует внешний ключ из ассоциации
- 5. Ruby on Rails FactoryGirl не генерирует завод с несколькими ассоциациями
- 6. Ruby On Rails on eHost
- 7. Curl on Ruby on Rails
- 8. Ruby on Rails form input
- 9. Ruby vs. Ruby On Rails
- 10. Синтаксис Ruby (on Rails)
- 11. Тестирование Ruby on Rails
- 12. Ruby on Rails: NoMethodError
- 13. Ruby On Rails медленный ...?
- 14. Ruby on rails console
- 15. Изучение Ruby on Rails?
- 16. Ruby on Rails Scope
- 17. ruby on rails cache
- 18. Ruby on Rails Newbie
- 19. Установить Ruby on Rails
- 20. Ruby ON rails- Webrick
- 21. Bcrypt ruby on rails
- 22. Ruby on Rails NameError
- 23. Ruby On Rails TCPSocket
- 24. Ruby on Rails Stylesheet
- 25. Ruby on Rails Concurrency
- 26. Ruby on Rails decimals?
- 27. Ruby on Rails Secrets.yml
- 28. Ruby on Rails + EventMachine?
- 29. Ruby on Rails view
- 30. Перемещение Ruby on Rails
вы можете создать резервный маршрут, где вы заглянете внутрь контроллера, если вы получите несколько совпадений в своей базе данных. Но почему изменение поведения по умолчанию? Я думаю, что это выглядит красиво '/ movies/genre/horror' – 23tux
Вы бы хотели разработать? как создать резервные маршруты? спасибо – ishwr