Создание пути рельсов для известного действия на основе текущей записи - PullRequest
0 голосов
/ 06 декабря 2010

Как часть моего шаблона я показываю некоторые автоматические ссылки, которые создаются в application_controller.Некоторые из этих ссылок будут предлагать навигацию прямо со страницы показа на соответствующую страницу редактирования и несколько похожих вещей.

Мой текущий код включает в себя:

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

Это прекрасно работает, кромеУ меня есть дочерние ресурсы, определенные в моем файле rout.rb.

В этом случае вместо навигации:

a/1/b/2/edit

Переходит к

b/2/edit

, который не является допустимым маршрутом.

Любойидеи о том, как этого добиться, будут высоко оценены.Я стараюсь избегать особых случаев, когда это возможно.

1 Ответ

0 голосов
/ 06 декабря 2010

Немного смущен - почему бы просто не использовать маршруты, определенные для вас.Учитывая, что вы упомянули «дочерний ресурс», могу предположить, что вы объявили эти ресурсы?Если так - у вас должно быть множество доступных вам маршрутов ...

  • Запустите 'rake route' из командной строки
  • Найдите свой маршрут
  • Скорее всего, он будет принимать два аргумента и выглядеть примерно так (примерно):

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

  • Простоиспользуйте edit_a_b_url (@a, @b)

Надеюсь, это поможет.

...