• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    关于Ruby on Rails路由配置的一些建议

    当你需要加入一个或多个动作至一个 RESTful 资源时(你真的需要吗?),使用 member and collection 路由。

      # 差
      get 'subscriptions/:id/unsubscribe'
      resources :subscriptions
    
      # 好
      resources :subscriptions do
       get 'unsubscribe', on: :member
      end
    
      # 差
      get 'photos/search'
      resources :photos
    
      # 好
      resources :photos do
       get 'search', on: :collection
      end
    
    

        若你需要定义多个 member/collection 路由时,使用替代的区块语法(block syntax)。

      

     resources :subscriptions do
       member do
        get 'unsubscribe'
        # 更多路由
       end
      end
    
      resources :photos do
       collection do
        get 'search'
        # 更多路由
       end
      end
    
    

        使用嵌套路由(nested routes)来更佳地表达与 ActiveRecord 模型的关系。

      

     class Post  ActiveRecord::Base
       has_many :comments
      end
    
      class Comments  ActiveRecord::Base
       belongs_to :post
      end
    
      # routes.rb
      resources :posts do
       resources :comments
      end
    
    

        使用命名空间路由来群组相关的行为。

      namespace :admin do
       # Directs /admin/products/* to Admin::ProductsController
       # (app/controllers/admin/products_controller.rb)
       resources :products
      end
    
    

        不要在控制器里使用留给后人般的疯狂路由(legacy wild controller route)。这种路由会让每个控制器的动作透过 GET 请求存取。

      # 非常差
      match ':controller(/:action(/:id(.:format)))'
    
    


    您可能感兴趣的文章:
    • 关于Ruby on Rails视图编写的一些建议
    • Ruby on Rails中的ActiveResource使用详解
    • 详解Ruby on Rails中的Cucumber使用
    上一篇:Ruby元编程的一些值得注意的地方
    下一篇:Ruby on Rails中的ActiveRecord编程指南
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    关于Ruby on Rails路由配置的一些建议 关于,Ruby,Rails,路由,配置,