2012-02-22 239 views
0

所以我剛開始使用動態段,因爲我需要它們來指定通過HTTParty從AWS S3抓取數據的某些元素。使用動態段的路徑路由

我有這樣的比賽中陳述我的routes.rb文件:

match ':installation/:venue/:controller(/:action(/:id))' 

這個偉大的工程,讓我做什麼我想做的事,這是拉在安裝和場地,並與使用它們HTTParty從S3獲取他們的相應信息。

現在我需要保持我的鏈接通過持久性這些由於我的應用程序控制器讀取這些事實。因此,例如,當我寫一個link_to我不得不在視圖/部分執行以下操作:

<%= link_to some_name, 
"#{@installation}/#{@venue}/#{controller.controller_name}/show/some_id" %> 

如果只是這個醜陋,我不得不處理這不會是一個問題,但我不明白我怎麼可以繞過這個選項。

那麼基本上有一種方法可以爲動態段提供豐富的路線嗎?

回答

1
+0

這似乎正是我需要的,所以非常感謝您指出了這一點。我從來沒有遇到過這樣的情況,但是,當我用這個link_to:link_to menu_item.title,polymorphic_url([@ installation,@venue,PoiList,'index']),:url_options => {:map_button => map_button}實現這個時,我得到以下錯誤:undefined method #<#:0x8f1b08c>的'SPREE_SPREE-2012_poi_lists_url'。這意味着沒有足夠的資源路線,對嗎?那麼,如何爲匹配案例創建足智多謀的路線是我的問題? – Gowiem 2012-02-22 18:38:51

+1

什麼是您的完整routes.rb? – eveevans 2012-02-23 21:19:50

+0

我最終弄清楚了這一點,我只是設置了我的匹配語句,如下所示: 匹配':installation /:venue /:controller(/:action(/:id))',:as =>:默認 哪給了我我想要的豐富路線。再次感謝您的幫助。 – Gowiem 2012-02-27 14:45:30