Rails 3 Routes: DRY members

Мне нужно добавить следующие методы участника к ряду ресурсов, есть ли способ СУШИТЬ это?

 member do
    get   :votes
    post  :up_vote
    post  :down_vote
  end

В my 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

7
задан Dex 24 November 2010 в 04:45
поделиться