用于嵌套索引操作的Rails多态链接

Jus*_*tin 5 ruby-on-rails polymorphic-associations nested-attributes ruby-on-rails-4

我一直试图找到这个链接几个小时了.我有一个多态关联,其中两个集合和分类都有设计.

收集模型

has_many :designs, :as => :targetable
Run Code Online (Sandbox Code Playgroud)

分类模型

has_many :designs, :as => :targetable
Run Code Online (Sandbox Code Playgroud)

设计模型

belongs_to :targetable, :polymorphic => true
Run Code Online (Sandbox Code Playgroud)


为了链接到设计的'show'动作,正确的多态路径将是:

link_to polymorphic_path([@targetable, @design])
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚如何链接到设计的"索引"页面,以显示与其相应的可定位对象相关的所有设计.

有谁知道到达那里的适当链接?

Jus*_*tin 10

我终于找到了答案.

polymorphic_path([@targetable, Design])
Run Code Online (Sandbox Code Playgroud)

您应该使用模型名称,而不是使用变量作为多态路径中的第二个对象.此路径链接到

targetable/:targetable_id/designs
Run Code Online (Sandbox Code Playgroud)

也许这将有助于将来使用.