为了在假期前挤出一些工作时间,我的脑子都要炸开了。
我在试着修复一个简单的bug。以下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我的猜测是这与一些路由优先级有关,但我不知道是哪种...谢谢!
根据jasnow的建议,将路由更改为: map.favorites_resort "/favorites/resort/sort/:sort/method/:method“
发布于 2010-01-01 06:21:03
在您的路由文件中查找"/:“。
https://stackoverflow.com/questions/1987074
复制相似问题