我在config/routes.rb
文件中的以下路線:獲得包含通過PARAMS資源的ID爲自定義操作
resources :employees do
get 'dashboard'
get 'orientation'
end
employees
指的是普通的資源處理標準的REST風格的動作。 dashboard
和orientation
是我目前所稱的「自定義操作」,它對Employee
實例起作用。如果我有我的術語混淆,並且dashboard
和orientation
真的是別的,我很抱歉。這些自定義操作,以響應網址如下:
http://myhost/employees/1/dashboard
即他們是「成員」的行爲很像0,edit
等
無論如何,這一切工作不夠好。上EmployeesController
定期的動作,例如通過show
獲得params[:id]
相關Employee
的ID。但是,對於這種當前結構,dashboard
和orientation
必須改爲使用params[:employee_id]
。這不是太難處理,但會導致一些額外的代碼複雜性,因爲我的常規before_filter
(預計params[:id]
不適用於這兩個操作)。
如何讓路由系統以與show
等相同的方式爲這些自定義操作的ID填充params[:id]
?我已經嘗試了各種方法member
而不是get
這些行動,但沒有任何工作,我想要的方式呢。這個應用程序是使用Ruby on Rails 3.2構建的。
謝謝,Kuldeep。今晚我會試試這個,並且讓它知道它是否有效。 –
沒問題理查德。 :) – Kuldeep
另外一個評論:我的做法有優勢所產生的路徑方法'employee_dashboard_path'和'employee_orientation_path'遵循標準的英語語序(名詞修飾後面名詞),而你的名詞後面名詞修飾。我想這是因爲我違反了Rails慣例,即動作應該是動詞。你知道有什麼方法可以指定助手方法名嗎? –