如何向ActionController :: Routing :: Routes map.resources添加自定义选项?

时间:2009-03-11 19:33:45

标签: ruby-on-rails routes

我的routes.rb文件中有几处我说:

map.resources :foo, :only => [:show, :index]

我希望能够说:

map.resources :foo, :readonly => true

..或类似的东西。我知道这可能看起来毫无意义,因为它只保存了几个字符,但我想知道如何做到这一点,以便我将来可以添加其他更复杂的选项。

THX

-C

1 个答案:

答案 0 :(得分:1)

不是您想要的,但您可以使用Object#with_options保存一些打字:

map.with_options(:only => [:show, :index]) do |readonly|
  readonly.resources :foo
  readonly.resources :bar
  ...
end

否则,您可能正在查看猴子修补或子类化ActionController::Routing::RouteSet::Mapper