次のメンバー メソッドを多数のリソースに追加する必要があります。これを DRY する方法はありますか?
member do
get :votes
post :up_vote
post :down_vote
end
私のroutes.rbで
resources :news do
resources :comments do
member do
get :votes
post :up_vote
post :down_vote
end
end
end
resources :downloads do
resources :whatever do
member do
get :votes
post :up_vote
post :down_vote
end
end
end
編集
私は実際に次のようにモジュールに移動しました:
module Votable
module RoutingMethods
def votable_resources
member do
get "up_votes"
get "down_votes"
post "up_vote"
post "down_vote"
end
end
end # RoutingMethods
end
これで、routes.rb は次のようになります。
require 'votable'
include Votable::RoutingMethods
MyApp::Application.routes.draw do
namespace :main, :path => "/" do
resources :users do
resources :comments do
votable_resources
end
end
end
end
インライン コメントを参照してください。ただし、名前付きルートを次のようにしたい:main_users_comments_up_votes