0

作为模板的一部分,我展示了一些在 application_controller 中创建的自动链接。其中一些链接将提供从显示页面到相应编辑页面的直接导航,以及一些类似的东西。

我当前的代码包括:

nav_links  << {:name=>:edit,:url=>url_for(:action => :edit)}

除了在我的 routes.rb 文件中定义子资源之外,这很有效。

在这种情况下,而不是导航到:

a/1/b/2/edit

它导航到

b/2/edit

这不是一条有效的路线。

任何关于如何实现这一点的想法将不胜感激。我热衷于尽可能避免特殊情况。

4

1 回答 1

0

有点困惑 - 为什么不直接使用为您定义的路线资源。鉴于您提到了“子资源”,我可以假设您已经声明了这些资源?如果是这样 - 你应该有许多可用的路线......

  • 从命令行触发“rake routes”
  • 找到你的路线
  • 它很可能需要两个参数,看起来像这样(大致):

    edit_a_b GET /a/:a_id/b/:id

  • 只需使用 edit_a_b_url(@a, @b)

希望这可以帮助。

于 2010-12-06T18:29:25.910 回答