【发布时间】:2011-04-05 07:24:52
【问题描述】:
我有一个像这样的多态脚本类:
Script
belongs_to :scriptable, :polymorphic => true
...
end
project 和 testCase 是包含这个类的。脚本也有回形针并且是可版本化的,所以基本上,我已经有一个现有的脚本路线:
resources :test_cases do
resources :script do
resources :script_versions
end
end
该路线以前存在,但我们应用程序的一个新功能是使项目也可编写脚本。这是否意味着我必须为这样的项目添加相同的路线:
resources :projects do
resources :script do
resources :script_versions
end
end
如果我们将来有其他可编写脚本的类会怎样?我每次都必须创建这样的路线吗?它看起来很干净,但对我来说似乎并不干燥。多态性应该在这里帮助我,不是吗?有声明路由的多态方式吗?
【问题讨论】:
-
我正在寻找相同问题的答案。我想到的一件事是多态路由可能想要“反转”,即 /scripts/:id/:parent_model。正在努力。如果我弄清楚了,我会发布答案。
-
你解决过这个问题吗?我有一个类似的问题,但找不到 DRY 方法。
-
还没有。如果您需要,我们可以提供赏金。目前我还没有处于重构模式,但希望在几周内会出现
标签: ruby-on-rails-3 routes polymorphism