我有Students
,每个都有一个标准的:id
,但它们也有一个唯一的:student_number
。我希望能够找到一个学生的观点,只给他们的:student_number
这是我现在的路线:
resources :students do
collection do
get 'find_by_num'
end
end
这可以工作,但是感觉有点奇怪,为我知道将是一个结果的东西创建一个"集合"——也就是一个"成员"。同时,成员期望:id
,而我没有。
做这件事的可接受的RESTful方式是什么?
我搜索了一个现有的答案,发现了这个问题,但我对路线本身感兴趣。
谢谢你的帮助!
好的,我希望我理解对了你的问题,你想要像
http://myapp.com/users/student_number
让你找到特定的学生。
如果是这种情况,你不需要对路由做任何操作,只需要在Users Controller
中def show
@user = User.find_by(student_number: params[:id])
end
然后在视图中,要链接到学生,您将使用:
= link_to user.name, user_path(user.student_number)