在多态关联中显示操作

时间:2012-06-10 21:03:29

标签: ruby-on-rails

我有一个多态资源讨论,可以属于Project,Task或Subtask。

有一次,我希望重新路由以显示讨论控制器的行动。要做到这一点,我需要讨论ID(我从params获得),我需要知道父母是什么(我也从params得到)。

因此,为了显示行动路线,我必须有3个案例:

  project_discusison_path(@project, @discussion)
  task_discussion_path(@task, @discussion)
  subtask_discussion_path(@subtask, @discussion)

如何在一个路径助手中编写这3个案例? (看起来像下面这样)

parent_discussion_path(@parent, @discussion)

请记住,我可以找到并拥有所有变量。只写路径就是问题所在。

1 个答案:

答案 0 :(得分:1)

如果您在 - 例如 - link_to中生成链接,则可以使用此数组语法:

link_to "Show Discussion", [@parent, @discussion]

在幕后,这与polymorphic_pathpolymorphic_url方法完全相同:

polymorphic_url([@parent, @discussion])
相关问题