У меня есть модель User, которая, на мой взгляд, имеет два действия показа:
- «Показ», выполняемый над собственной записью пользователя (для просмотра его личного профиля)
- «Показ» выполнял другие записи пользователей (для просмотра их общедоступного профиля)
Я думал о нескольких различных способах, которыми я мог бы организовать и реализовать эту функцию, но я 'Мне любопытно, что такое «Rails Way» для этого.
URL-адреса должны быть разными (domain.com/account vs. domain.com/profile/someuser), что, естественно, приводит меня к желанию иметьнесколько представлений для представления различных точек зрения этого действия.
Первый вариант - создать два контроллера с разными действиями show и view для обслуживания запросов.
Второй вариант - поместить оба действия в один контроллер с именами действий, которые по сути являются дубликатами.(или принудительные недубликаты, такие как 'show' против 'show_public').
Вариант три будет состоять в использовании одного контроллера и одного действия, которое обрабатывает каждый запрос условно на основе некоторого уникального бита данных:маршрут, с которого он был вызван, заполняется ли параметр params [: id] и т. д.
Что такое «путь Rails» для этого?