0

休暇の前に仕事を詰め込もうとして、私の頭は揚げられています。

単純なバグを修正しようとしています。次の 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"

4

1 に答える 1

1

ルート ファイルで「/:」を探します。

于 2009-12-31T22:21:03.473 に答える