Изменить пути для link_to пропуская название модели - PullRequest
1 голос
/ 04 января 2012

Мне удалось настроить мои маршруты (с помощью этих вопросов Маршрутизация без имени модели и Постоянные ссылки с Ruby on Rails (динамические маршруты) ), чтобы статьи можно получить доступ через my-domain/permalink, а не my-domain/articles/permalink или через оригинальный my-domain/articles/id

Теперь я хотел бы указать пути, которые помощник link_to указывает на /permalink, а не /articles/permalink. Я посмотрел на http://guides.rubyonrails.org/routing.html#overriding-the-named-helpers и вижу, как я могу перенаправить, например. /images/permalink, но не могу понять, как не указывать название модели.

Может кто-нибудь предложить способ сделать это?

1 Ответ

2 голосов
/ 04 января 2012

Использование :as в строке match ... в вашем файле маршрутов сделает эту работу (она работает немного иначе, чем :as в строке resources ...):

match '/:id' => 'articles#show', :as => "article_permalink", :via => 'get'

ТогдаВы можете сделать:

link_to "Show", article_permalink_path(article)

См. Наименование маршрутов в путеводителях Rails

...