О маршрутизации, если я что-то вроде этого:Rails 5 ресурсов маршрутизации с использованием пользовательских действий
resources :students
resources :teachers
я получить что-то вроде:
студенты GET /students(.:format) студентов # индекс
...
учителя ПОЛУЧИТЬ /teachers(.:format) учителя # индекс
...
Переход к:
resources :students, controller: :users
resources :teachers, controller: :users
даст мне:
студентов GET /students(.:format) пользователей # индекс
учителей GET /teachers(.:format) пользователей # индекс
Обратите внимание, что в настоящее время, как ресурсы, используя один и тот же контроллер Users
и то же действие index
. Но то, что мне нужно, вместо того, чтобы использовать то же самое действие index
, является ресурсом students
, чтобы использовать действия, предваренные students
, как students_index
и teachers
ресурсов с префиксом teachers
как teacher_index
.
Другими словами, я хочу bin/rails routes
дать мне следующий вывод:
студенты получают /students(.:format) пользователей # students_index
учителей овладевают /teachers(.:format) пользователей # teachers_index
Я знаю, что я могу сделать то же самое с:
get 'students', to: 'users#students_index'
Но есть ли способ сделать то же самое с ресурсами?
Возможно, вы ищете коллекцию или член – Mingsheng
Почему вы не используете подклассы использования для вашего контроллера? поэтому пользователь-контроллер и подклассы ученика и учителя? если вы действительно хотите этого, вам нужно сопоставить каждое действие CURL. – Roger
@Rogier как 'student', так и' teacher' являются 'пользователями'. Эти маршруты предназначены для API. Я не хочу иметь одну конечную точку, например: 'POST http: // localhost: 3000/users', чтобы создать« ученик »и« учитель ». Для этого я должен каждый раз указывать, какой тип пользователя я создаю. – psantos