2
我有一些租賃列表,我希望可以作爲RESTful資源訪問,但也要通過:area參數(可能是鄰域或區域)過濾索引。鑑於「租金」的資源,我想有Rails 3路由中的負面正則表達式約束
/rentals
還有:在根級別
/downtown
/westside
/some-neighborhood
etc.
我以爲我能得到這個工作,通過將區域PARAM濾波下面靠近我的路線底部文件:
resources :rentals
get ':area' => 'rentals#index', :area => /[a-zA-Z0-9\-]+/, :as => :area
但是,當我加入了雷分頁,它會自動生成分頁鏈接看起來像
/rentals?area=downtown&page=2
時,我寧願它看起來像
/downtown?page=2
爲了得到雷到使用命名路由版本的:面積PARAM需要有優先權,所以我改變了路線:
get ':area' => 'rentals#index', :area => /(?!rentals)[a-zA-Z0-9\-]+/, :as => :area
resources :rentals
但是,當我試圖識別在控制檯的路線,我得到:
ActionController::RoutingError: No route matches {:controller=>"rentals", :area=>"downtown"}
我不知道如何解決這個問題,所以任何幫助將不勝感激。
這爲我工作,但我不得不括號添加到'.INCLUDE?'通話 – 2012-01-17 03:26:58