麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Ruby > 正文

Rails Routes中new、collection、member的區別淺析

2020-10-29 19:43:12
字體:
來源:轉載
供稿:網友

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

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

復制代碼 代碼如下:

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中可以添加很多條記錄。如果只有一條,一般會這樣寫:

復制代碼 代碼如下:

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

下面總結一下member,new,collection的區別:

:member 是對單個實體進行操作,創建路由格式是: /:controller/:id/:your_method
:collection 是對實體集合進行操作,創建路由格式是: /:controller/:your_method
:new 是新建一個實體,創建路由格式是: /:controller/:your_method/new

舉例如下:

復制代碼 代碼如下:

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 99精品国产一区二区三区 | 宅男视频在线观看免费 | 国产精品久久久久无码av | 精品国产乱码一区二区三区四区 | 斗罗破苍穹在线观看免费完整观看 | a黄在线观看 | 一本色道久久综合亚洲精品图片 | 麻豆蜜桃在线观看 | 免费观看又色又爽又黄的崩锅 | 久久99精品久久久久久236 | 毛片在线免费观看视频 | www.91tv| 中文日韩 | 国产一级免费在线视频 | 久久久久久久一区 | chengrenzaixian | 亚洲成人入口 | 久久精精品 | 欧美一级高潮 | 黄网站在线播放视频免费观看 | 日韩视频―中文字幕 | 欧美性生活xxxxx | av在线播放电影 | 色妞视频男女视频 | 爱看久久| 国产高潮好爽受不了了夜色 | 久久成人视屏 | 色就色 综合偷拍区91网 | 国产精品99久久久久久久vr | 春光影院理论片 | 国产一区在线观看视频 | 久综合| 99这里精品 | 国产女做a爱免费视频 | 欧美视频一区二区 | 亚洲日色 | 亚洲精品 在线播放 | 91网站免费在线观看 | 欧美综合日韩 | 中午字幕无线码一区2020 | 欧美成人影院 |