0

少し長い間、頭を壁にぶつけていました。明らかな何かが欠けていると確信していますが、ここに行きます。routes.rb ファイルに次の行を追加しました。

get '/:location_or_budget.:format' => 'listings#search_by_location_or_budget', as: :search

「rake routes」を実行すると、出力に次のルートが表示されます。

search GET    /:location_or_budget.:format     listings#search_by_location_or_budget

次のようにコードでルートを使用しようとすると:

link_to name, search_path(:location_or_budget => 'boston')

私は以下を取得します:

ActionController::RoutingError (No route matches {:controller=>"listings", :action=>"search_by_location_or_budget", :location_or_budget=>"boston"}):

すべてを正しく設定したような気がします。メソッド「search_by_location_or_budget」が存在し、公開されていることを確認しました。何が間違っているのか、またはこれをトラブルシューティングする方法を知っている人はいますか?

4

1 に答える 1

1

:format 部分が必要だからです。これを試して:

get '/:location_or_budget.:format' => 'listings#search_by_location_or_budget', :as => :search, :defaults => { :format => 'html' }

または

get '/:location_or_budget(.:format)' => 'listings#search_by_location_or_budget', :as => :search
于 2012-08-25T06:23:47.450 に答える