欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于Ruby on Rails路由配置的一些建議

 更新時(shí)間:2015年08月04日 08:52:27   投稿:goldensun  
這篇文章主要介紹了關(guān)于Ruby on Rails路由配置的一些建議,作者提出了相關(guān)代碼編寫時(shí)一些值得注意的地方,需要的朋友可以參考下

當(dāng)你需要加入一個(gè)或多個(gè)動(dòng)作至一個(gè) RESTful 資源時(shí)(你真的需要嗎?),使用 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

    若你需要定義多個(gè) member/collection 路由時(shí),使用替代的區(qū)塊語法(block syntax)。

  

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

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

    使用嵌套路由(nested routes)來更佳地表達(dá)與 ActiveRecord 模型的關(guān)系。

  

 class Post < ActiveRecord::Base
   has_many :comments
  end

  class Comments < ActiveRecord::Base
   belongs_to :post
  end

  # routes.rb
  resources :posts do
   resources :comments
  end

    使用命名空間路由來群組相關(guān)的行為。

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

    不要在控制器里使用留給后人般的瘋狂路由(legacy wild controller route)。這種路由會(huì)讓每個(gè)控制器的動(dòng)作透過 GET 請(qǐng)求存取。

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


相關(guān)文章

最新評(píng)論