比方說,我有一個收據模式,我想提供一個控制器動作打印一個......將未寧靜的辦法是做:通過命名空間進行安靜路由的正確約定是什麼?
# receipt_controller.rb
def print
...
end
#routes.rb
resources :receipts do
get :print, :on => :member
end
... REST風格的方法是:
# receipt_printings_controller.rb
def create
...
end
#routes.rb
resources :receipts
resources :receipt_printings, :only => :create
我的問題是.....比方說,我想有以下結構:
/app
/controllers
receipts_controller.rb
/receipt
printings_controller.rb
這將意味着我的類會是什麼樣子: 一流的收據:: PrintingsController <的ActiveRecord :: Base的 DEF創建 ... 結束 結束
但我不知道如何在這種情況下正確的路線,因爲我還需要能夠做到:
receipt_printings_path(123),以獲得/收據/ 123 /印刷
我知道如何做到這一點的唯一方法是要做到:
#routes.rb
match "/receipts/:id/printings" => "receipt/printings#create", :as => :receipt_printings
resources :receipts
但是,我想知道是否有更好的方法?
聽起來像一個問題,應該在http://codereview.stackexchange.com –