【发布时间】:2011-05-10 19:55:47
【问题描述】:
好的,所以我这里有一个奇怪的模式,我无法弄清楚。
我有一个以 CallList 作为基本模型的 STI 集,并且继承了 City & State。一个城市属于一个州(一个州有很多城市)。
一个广告系列有很多通话清单,所以我想全部显示。我遍历campaign.call_lists,有时会得到Cities,有时会得到States。当我想链接到他们时,我会这样做
link_to call_list.name, call_list
如果我有这些路线,效果很好:
resources :cities, :states
但是,当我在州内嵌套城市时,link_to 助手无法找出合适的路线。有没有一种简单的方法可以做到这一点,还是我必须手动构建路径助手?
【问题讨论】:
-
当您说“在州内筑巢城市”时,您的意思是在您的路线中,对吗?我假设关联已经正确设置?
-
是的,关联工作得很好,而且我的路线是嵌套的。所以如果我的 call_list 是一个州,我可以只链接到州,但如果它是一个城市,我需要做 state_city_path(city) 而不仅仅是 city_path(city)。我可以在视图中添加一个 case 语句,但这很难看,我想知道 rails 中是否有一些东西或插件可以从路由中解决它?
-
你需要检查 call_list 的种类,然后使用正确的路由..它不能直接作为路由嵌套..
标签: ruby-on-rails routing nested single-table-inheritance