レシートモデルがあり、それを印刷するためのコントローラーアクションを提供したいとします...不安な方法は次のようになります。
# receipt_controller.rb
def print
...
end
#routes.rb
resources :receipts do
get :print, :on => :member
end
...安らかな方法は次のようになります:
# 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
つまり、私のクラスは次のようになります。class Receipt :: PrintingsController <ActiveRecord :: Base def create ... end end
しかし、私はまだできる必要があるので、このコンテキストで適切にルーティングする方法がわかりません。
/ receive_printings_path(123)を取得して/ receiveipts / 123/printingsを取得します
これを達成する方法を私が知っている唯一の方法は、次のことを行うことです。
#routes.rb
match "/receipts/:id/printings" => "receipt/printings#create", :as => :receipt_printings
resources :receipts
しかし、もっと良い方法があるのだろうか?