2009-12-31 18 views
0

我的大腦油炸嘗試在假期前擠壓一些工作。link_to中奇怪的路由問題;必須是簡單的東西

我想修復一個簡單的錯誤。下列link_to_remote正在創建的URL是錯誤的:

options = { 
    :url => { :controller => 'favorites', :action => 'resort', :params => params.merge({:sort => key, :method => method})}, 
    :update => 'favorites' 
} 
html_options = { 
    :title => "Sort by this field", 
    :href => url_for(:controller => 'favorites', :action => 'resort', :params => params.merge({:sort => key, :method => method})) 
} 
link_to_remote("hithere", options, html_options) 

它創造:的

http://localhost:3000/favorites?method=ASC&sort=title 

代替:

http://localhost:3000/favorites/resort?method=ASC&sort=title 

指定的路線是:

map.favorites_resort   "/favorites/resort",         :controller => "favorites", :action => "resort" 
    map.favorites_search   "/favorites/search",         :controller => "favorites", :action => "search" 
    map.toggle_message_favorite "/favorites/toggle_message_favorite/:message_id",  :controller => "favorites", :action => "toggle_message_favorite" 
    map.toggle_attachment_favorite "/favorites/toggle_attachment_favorite/:attachment_id", :controller => "favorites", :action => "toggle_attachment_favorite" 
    map.resources :favorites 

我的猜測是它與s有關OME路由優先級,但我無法弄清楚哪些...謝謝!

在jasnow的建議,改變了路線: map.favorites_resort 「/收藏/度假/排序/:排序/方法/:法」

回答

1

尋找 「/:」 在你的路由文件。

+0

謝謝,將路線改爲map.favorites_resort「/ favorites/resort/sort /:sort/method /:method」 – 2009-12-31 22:46:05