根据当前记录为已知操作创建rails路径

时间:2010-12-06 17:30:55

标签: ruby-on-rails routing url-for

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

我目前的代码包括:

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

除了我的routes.rb文件中定义的子资源之外,这项工作很有用。

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

a/1/b/2/edit

导航到

b/2/edit

这不是有效路线。

如何实现这一点的任何想法将非常感激。我希望尽可能避免特殊情况。

1 个答案:

答案 0 :(得分:0)

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

  • 从命令行触发'rake routes'
  • 找到路线
  • 很可能会有两个参数,看起来像这样(大致):

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

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

希望这有帮助。