铁路漂亮路由

时间:2012-08-30 14:14:50

标签: ruby-on-rails routes pretty-urls

我有新闻控制器,按年份选择新闻。
在routes.rb我有

  get 'news' => 'pages#news'
  get 'news/:year' =>'pages#news'

url http://localhost:3000/news/2012没问题,但是当我尝试创建链接时,它并不漂亮。
例如:= link_to year, news_path(year: 2012)

我看到http://localhost:3000/news?year=2012而不是http://localhost:3000/news/2012
我怎么解决?  附: item它是新闻控制器的模型

1 个答案:

答案 0 :(得分:2)

替换为一行:

get 'news/(:year)' =>'pages#news'

解释:

路由器规则是:首先匹配的第一个匹配。 get 'news'与您的路径匹配,因此会将year添加为查询参数。

替代解决方案是切换你的线,但最好只保留一行。