国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

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

2019-10-26 19:24:39
字體:
來源:轉載
供稿:網友

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 湘潭市| 莱芜市| 泰和县| 乳源| 扶绥县| 托里县| 靖远县| 炉霍县| 灵石县| 搜索| 滦南县| 泉州市| 都兰县| 三都| 周至县| 昭苏县| 织金县| 高雄市| 文化| 嘉义市| 双峰县| 宜丰县| 高台县| 阳高县| 石棉县| 江山市| 兴义市| 渭源县| 靖江市| 大渡口区| 屯留县| 迁西县| 永胜县| 肇庆市| 清涧县| 靖江市| 东平县| 孝昌县| 西城区| 昌黎县| 西城区|