0

我有一个可以属于项目、任务或子任务的多态资源讨论。

在某一时刻,我希望重新路由以显示讨论控制器的操作。为此,我需要讨论 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)

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

4

1 回答 1

1

如果您在 a--for instance- 中生成链接link_to,则可以使用以下数组语法:

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

polymorphic_path在幕后,这实现了与andpolymorphic_url方法相同的事情:

polymorphic_url([@parent, @discussion])
于 2012-06-10T21:13:14.603 回答