更改link_to的路径,错过了模型名称

时间:2012-01-04 19:35:39

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 routes

我设法设置了我的路线(在Routing without the model namePermalinks with Ruby on Rails (dynamic routes)的帮助下),以便通过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 个答案:

答案 0 :(得分:2)

在路线文件的:as行上使用match ...可以完成这项工作(与:as行上使用resources ...的操作略有不同):

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

然后你可以这样做:

link_to "Show", article_permalink_path(article)

请参阅Naming Routes in the Rails Guides