2007-11-12

Rails宝典七十九式:生成Named Routes

关键字: Rails named routes
我们有如下三个近乎一样的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
评论
hideto 2007-11-14
这个系列开始写时第一篇文章就声明是来自railscasts,以后就缺省不声明了
hjleochen 2007-11-14
为什么每次拿railscasts的东西都没有写出处呢?
发表评论

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

hideto
搜索本博客
我的相册
A6bdc31c-c66e-468e-961e-9cc721e82adc-thumb
screenshot
共 1 张
存档
最新评论