原创作者: hideto   阅读:1323次   评论:0条   更新时间:2011-05-26    
我们有如下三个近乎一样的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
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

文章信息

Global site tag (gtag.js) - Google Analytics