2010-06-04 22 views
0

我正在構建一個圍繞樹數據結構的rails應用程序。如此,控制器的索引顯示所述結構的根節點。演示可能更容易解釋什麼,我想:rails restful routing - 嵌套單索引

/place/1 == place 

可我REST的定義,使得

/place/1/photos == place/photos 

/place/1/photos/1 == place/photos/1 

等?

理想情況下,我想要的是文章的網址和它的嵌套的資源網址默認工作,這樣我就不需要改變一大堆東西,並有條件地生成遍佈整個地方的路徑。

在此先感謝您的幫助。 :)

回答

1

你可以有通常的嵌套的寧靜的路線(這是很好的保持它們作爲基準,並使用它們的非性感的URL,如更新,創建等),然後添加一些自定義路由爲您的'漂亮」的網址:

map.nested_photo "/place/photos/:id", :controller => "photos", :action => "show" 
map.edit_nested_photo "/place/photos/:id/edit", :controller => "photos", :action => "edit" 

,你可以再增加一點邏輯進入照片控制器來確保你有這個地方,即使你沒有得到PARAMS [:place_id],如

if params[:place_id] 
    @place = Place.find(params[:place_id]) 
    else 
    @place = @photo.place 
    end 

要注意自定義網址中的主要內容是,您不會與a)常規休息或者b)您的其他自定義網址。

+0

嗨最大。這很好,謝謝。 :) – mark 2010-06-07 18:25:21