2012-03-10 99 views
1

我的路线文件是这样的没有路由具名的路线

match '^movies\?.*\&commit=Refresh$', :to =>'movies#filter', :via => :get 
resources :movies 
match 'movies/sort_by/:criteria', :to => 'movies#sort_by', :as => 'sort_by' 

,我想第一路线与

电影匹配匹配?UTF8 =✓&评级[PG-13] = 1个&评分[PG] = 1 &提交=刷新

。在视图中,我定义了一个将执行第一条路线的submit_tag:= submit_tag 'Refresh', filter_by_path()。不过,我不断收到:

没有路由匹配{:控制器=>“电影”,:动作=>“过滤器”}

我不知道如何解决这个问题,因为我尝试请在rubular.com上查看我的路线,并且完美地匹配链接。

回答

1

尝试使用:如在第一路

match '^movies\?.*\&commit=Refresh$', :to =>'movies#filter', :as => 'filter_by' 

那么在你看来,

= submit_tag 'Refresh', filter_by_url 
+1

注:在我的答案我用filter_by_url,但filter_by_path也将在这里工作。唯一的区别是url是完全合格的,路径是相对的。另外,暗示括号。如果你愿意,你可以放弃它们。 – 2012-04-04 13:00:40