Rails STI Association和嵌套资源

时间:2010-11-16 13:37:54

标签: ruby-on-rails routing nested single-table-inheritance

好的,所以我在这里有一个奇怪的模式,我无法弄明白。

我有一个以CallList作为基本模型的STI设置,以及City&国家继承。一个城市属于一个州(一个州有许多城市)。

广告系列有很多通话清单,所以我想全部展示它们。我循环遍及campaign.call_lists,有时会获得城市,有时是国家。当我想链接到他们时,我做

link_to call_list.name, call_list

如果我有这些路线,它可以正常工作:

resources :cities, :states

然而,当我将城市嵌套在州内时,link_to助手无法找出合适的路线。有没有一种简单的方法可以做到这一点,或者我将不得不做一些手动路径助手构建?

1 个答案:

答案 0 :(得分:0)

你需要检查call_list的种类,然后使用正确的route..it不能直接将路由嵌套..

link_to call_list.name, call_list.is_a?(City) ? call_list : state_city_path(call_list)