過剰なルーティングのカスタマイズ
元記事はこちら
翻訳
Bad Smell
map.resources :posts, :member => { :comments => :get, :create_comment => :post, :update_comment => :put, :delete_comment => :delete }
Roy Fielding’*1の論文*2によると、リソースと、その状態を表すには、RESTfulなルーティングを使うべきです。過剰なカスタマイズをせず、デフォルトの9アクション(index, show, new, edit, create, update and destroy)を使いましょう。過剰なカスタマイズを避けるには、別リソースを使うようにしましょう。
Refactor
map.resources :posts do |post| post.resources :comments end
postリソースに対して、create_comment, update_comment and delete_commentというカスタムルーティングを使わないようにするために、commentsリソースのnewアクションを使うようにします。できる限りデフォルトの7アクションを使うようにしましょう。
感想
RESTfulを意識しましょう。デフォルトのアクション以外を作りたくなったらコントローラーを分割しましょう。ということですね。