国产探花免费观看_亚洲丰满少妇自慰呻吟_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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 镶黄旗| 黑龙江省| 登封市| 寿宁县| 洛隆县| 合川市| 桃园县| 山西省| 顺昌县| 吉水县| 潢川县| 石棉县| 清苑县| 高台县| 康马县| 长阳| 通海县| 郁南县| 平江县| 巴彦县| 浠水县| 甘洛县| 宾川县| 平舆县| 白沙| 三江| 武乡县| 精河县| 大同县| 叶城县| 清水县| 灵川县| 桃江县| 临澧县| 锡林浩特市| 溆浦县| 汝城县| 郯城县| 屯昌县| 墨江| 礼泉县|