Маршрут для получения члена модели по значению, отличному от:id
Я имею Students
каждый из которых имеет стандарт :id
но у них также есть :student_number
который уникален Я хотел бы иметь возможность найти представление студенту, учитывая только их :student_number
Вот маршрут у меня сейчас:
resources :students do
collection do
get 'find_by_num'
end
end
Это работает, но это кажется немного странным, создание "коллекции" для того, что я знаю, будет единственным результатом, то есть "участником". В то же время члены ожидают :id
а у меня его нет.
Что бы был принят, RESTful способ сделать это?
Я искал существующий ответ и нашел этот вопрос, но меня интересует сам маршрут.
Спасибо за любую помощь!
1 ответ
Хорошо, надеюсь, я правильно понял ваш вопрос, и вы хотите что-то вроде
http://myapp.com/users/student_number
чтобы получить вас к конкретному студенту.
Если это так, вам не нужно ничего делать с маршрутизацией, просто в контроллере пользователей
def show
@user = User.find_by(student_number: params[:id])
end
Тогда, по вашему мнению, для ссылки на студента у вас будет:
= link_to user.name, user_path(user.student_number)