2011-04-09 36 views
0

比方說,我有這樣的設置:一個地區有很多:地方在Rails 3.0中,有沒有一種方法可以讓UrlHelper的路徑方法輸出嵌套資源的路由,而不需要明確指定父路徑?

的routes.rb中是一樣的東西:

resources :areas, :path=>"/" do  
    resources :places, :path=>'/places' 
end 

。因此,讓我們說我有該地區「中西部」和地方「芝加哥」 ......去芝加哥的地方頁,我做的:

area_place_path(place, place.area) 

我真的喜歡這將是能猜出這個地方的區域的方法(因爲它是一個多到一的關係),而不必明確地將它作爲參數傳遞。我知道如何爲我的特定需求編寫一個定製,但我想知道是否有一種我不知道的神奇Rails方式?

+0

可能重複的[在嵌套資源中自動添加父模型ID](http://stackoverflow.com/questions/5462652/automatically-add-parent-model-id-in-nested-resources) – Vadim 2011-04-09 23:39:01

回答

1

看起來應該有一個神奇的Rails方式,但沒有。理論上可以添加這樣一個特性,但如果您閱讀相關的Rails代碼,您會發現這樣的特性會違反關注點的分離(UrlHelper是ActionView的一部分,但此功能需要了解ActiveRecord關聯)所以我不認爲這個功能很快就會被添加。我個人認爲,在編寫自己的路徑幫助程序和路徑幫助程序給你這個功能時寫入會很微不足道。我的建議是隻寫自己的路徑幫手。真的應該有一個更簡單的方法(一個插件也許?)。

相關問題