我有一個名爲Student
的模型,其中有一個名爲University_ID
的屬性。創建使用模型屬性代替Rails中的ID的自定義路線
我創建了一個自定義操作和路由其中通過以下鏈接顯示特定學生的詳細信息:students/2/details
即students/:id/details
不過,我希望能夠允許用戶使用他們的大學ID,而不是數據庫ID,這樣下將工作例如students/X1234521/details
即students/:university_id/details
我的路由文件看起來像這樣的時刻:
resources :students
match 'students/:id/details' => 'students#details', :as => 'details'
但是,這使用Student_ID而不是University_ID,我試過做
match 'students/:university_id/details' => 'students#details', :as => 'details'
,但這隻對應於Student_ID,而不是University_ID。
我的控制器看起來是這樣的,如果這有助於以任何方式:
def details
@student = Student.find(params[:id])
end
我也試着這樣做@student = Student.find(params[:university_id])
,但沒了,毫無效果。
或者試試'#學生find_by_university_id(PARAMS [:univeristy_id])'。 'Student#where'(university_id:params [:university_id])'將返回一組學生。 – 2013-04-03 23:54:25
@JimStewart我在這個代碼中加入了一個動作:'@student = Student.where(university_id:params [:university_id])。first'? – omarArroum 2013-04-03 23:56:01
沒有辦法讓它互換,即我可以使用'student_id'或'university_id'嗎? – omarArroum 2013-04-03 23:59:54