2012-02-22 326 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