Заставить систему ресурсов рельсов определять контекст для объекта - PullRequest
1 голос
/ 22 августа 2010

Я хотел бы дать несколько советов о том, как сделать это наилучшим образом:

У меня есть приложение Rails, которое обрабатывает комментарии. Каждый комментарий относится к контексту, такому как тема форума или изображение. Контекстная ссылка является полиморфной.

У меня есть частичный, который отображает комментарий, и этот частичный также содержит ссылки для редактирования или удаления, например. Ссылки создаются с использованием «edit_comment_path (the_comment)» и «comment_path (the_comment)» и т. Д.

Теперь я хотел бы включить контекст в эти ссылки: вместо ссылки на "/ comments / 38" я бы хотел, чтобы они ссылались на "/ images / 5 / comments / 38" и "/ themes / 3 / комментарии / 63 "...

Комментарии размещаются только на одном уровне, поэтому, например, никогда не будет ссылки "/ forums / 18 / themes / 17 / comments / 74".

Приложение должно иметь достаточно информации для генерации этих ссылок. Но как лучше всего это сделать?

1 Ответ

1 голос
/ 22 августа 2010

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

edit_polymorphic_path([@image, the_comment]) # => /images/5/comments/38/edit

polymorphic_path([@topic, the_comment]) # => /topics/3/comments/63

Эти спецификации могут быть вложены сколь угодно глубоко. Подробнее см. здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...