我有新闻控制器,按年份选择新闻。
在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它是新闻控制器的模型
答案 0 :(得分:2)
替换为一行:
get 'news/(:year)' =>'pages#news'
解释:
路由器规则是:首先匹配的第一个匹配。 get 'news'
与您的路径匹配,因此会将year
添加为查询参数。
替代解决方案是切换你的线,但最好只保留一行。