Ruby on Rails 中文 Wiki
Named Routes (changes)

显示修订历史自 #0 至 #1: 添加 | 移除

原文: http://hideto.javaeye.com/blog/140057

我们有如下三个近乎一样的named routes:

# routes.rb   
ActionController::Routing::Routes.draw do |map|   
  map.about_company 'about/company', :controller => 'about', :action => 'company'   
  map.about_company 'about/privacy', :controller => 'about', :action => 'privacy'   
  map.about_company 'about/license', :controller => 'about', :action => 'license'   
end   

Rails的哲学告诉我们:简化一切!
所以我们这样写:

# routes.rb   
ActionController::Routing::Routes.draw do |map|   
  def map.controller_actions(controller, actions)   
    actions.each do |action|   
      self.send("#{controller}_#{action}", "#{controller}/#{action}", :controller => controller, :action => action)   
    end   
  end   
  map.controller_actions 'about', %w[company privacy license]   
end