Über Routing verwenden, wenn ich so etwas tun:Rails 5 Ressourcen Routing benutzerdefinierte Aktionen
resources :students
resources :teachers
Ich werde so etwas wie erhalten:
Studenten GET Studenten /students(.:format) # Index
...
Lehrer GET /teachers(.:format) Lehrer # Index
...
Wechsel zu:
resources :students, controller: :users
resources :teachers, controller: :users
wird mir geben:
Studenten /students(.:format) Benutzer # Index
Lehrer GET /teachers(.:format) Benutzer # Index GET
Beachten Sie, dass jetzt beide Ressourcen werden mit dem gleichen Controller Users
und die gleiche Aktion index
. Aber was ich brauche, anstatt die gleiche index
Aktion zu verwenden, ist die Ressource zu Aktionen mit dem Präfix wie students_index
und teachers
Ressourcen mit dem Präfix teachers
wie teacher_index
.
Mit anderen Worten, ich bin/rails routes
wollen, dass ich die folgende Ausgabe geben:
Studenten GET /students(.:format) Benutzer # students_index
Lehrer GET /teachers(.:format) Benutzer # teachers_index
ich weiß, dass ich mit das gleiche tun:
get 'students', to: 'users#students_index'
Aber es gibt einen Weg, das Gleiche mit Ressourcen zu tun?
Wahrscheinlich für eine Sammlung oder Mitglied suchen – Mingsheng
Warum verwenden Sie keine Unterklassen für Ihren Controller? so Controller Benutzer und Unterklassen Schüler und Lehrer? Wenn Sie das wirklich wollen, müssen Sie jede der CURL-Aktionen zuordnen. – Roger
@Rogier "Schüler" und "Lehrer" sind "Benutzer". Diese Routen gelten für eine API. Ich möchte keinen einzigen Endpunkt haben wie: 'POST http: // localhost: 3000/users', um den' Schüler' und 'Lehrer' zu erstellen. Dazu muss ich immer angeben, welche Art von Benutzer ich erstelle. – psantos