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

Rails Routes中new、collection、member的區(qū)別淺析

 更新時間:2015年01月04日 10:22:01   投稿:junjie  
這篇文章主要介紹了Rails Routes中new、collection、member的區(qū)別淺析,本文先是對這3個自定義路由參數(shù)做了講解,然后總結(jié)了它的們的區(qū)別,需要的朋友可以參考下

RESTful風(fēng)格的路由動詞默認(rèn)有7個(分別為:index, show, create, new, edit, update, destroy)。有時我們需要自定義路由,這時就要用到:on參數(shù)。:on參數(shù)有三種取值,分別為collection,member,new。

 如果想添加一個member方式的路由,可以這樣:

復(fù)制代碼 代碼如下:

resources :photos do
  member do
    get 'preview'
  end
end

將會添加一個路由:GET請求/photos/1/preview路由到PhotosController的preview action,同時也會新建preview_photo_url 和 preview_photo_path這兩個helpers。

上面的member block中可以添加很多條記錄。如果只有一條,一般會這樣寫:

復(fù)制代碼 代碼如下:

resources :photos do
  get 'preview',n => :member
end

下面總結(jié)一下member,new,collection的區(qū)別:

:member 是對單個實體進(jìn)行操作,創(chuàng)建路由格式是: /:controller/:id/:your_method
:collection 是對實體集合進(jìn)行操作,創(chuàng)建路由格式是: /:controller/:your_method
:new 是新建一個實體,創(chuàng)建路由格式是: /:controller/:your_method/new

舉例如下:

復(fù)制代碼 代碼如下:

map.resources :users, :collection => { :rss => :get }
map.resources :users, :member => { :profile => :get }
map.resources :users, :new => { :draft => :get }

第一行創(chuàng)建的路由是:/users/rss
第二行創(chuàng)建的路由是:/users/1/profile
“1”就是user_id,我們需要知道用戶ID才能得到用戶的profile.
第三行創(chuàng)建的路由是:/users/new/draft

相關(guān)文章

  • ruby 正則表達(dá)式 教程

    ruby 正則表達(dá)式 教程

    ruby 正則表達(dá)式 教程...
    2007-11-11
  • 比較不錯的關(guān)于ruby的電子書下載地址集合

    比較不錯的關(guān)于ruby的電子書下載地址集合

    比較不錯的關(guān)于ruby的電子書下載地址集合...
    2007-10-10
  • 最新評論