0

モデルがhotelあり、その属性は次のとおりです。id, hotel_name

そして、ホームコントローラーにオートコンプリートを適用しました

class HomeController < ApplicationController
  autocomplete :hotel, :hotel_name, :full => true
end

ルートは次のとおりです。

resources :hotels do
    collection do
      get 'autocomplete_hotel_hotel_name'
    end
end

ビューで

<%= form_tag do %>
    <%=autocomplete_field_tag 'hotel_name', '', :autocomplete => autocomplete_hotel_hotel_name_hotels_path %>
  <% end %>

しかし、テキスト フィールドに入力すると、ルーティング エラーが発生します。

そして、リンク上でルーティングエラーを生成する

"NetworkError: 404 Not Found - myhost:3000/%7B:autocomplete=%3E%22/hotels/autocomplete_hotel_hotel_name%22%7D?term=vi""

この URL をデコードすると、次のようになります。

NetworkError: 404 Not Found - myhost:3000/{:autocomplete=>"/hotels/autocomplete_hotel_hotel_name"}?term=vi"

そのため、適切なオートコンプリート URL が生成されません

4

1 に答える 1

1

Autocomplete_field_tag は、次のような引数を渡すことを期待しています:

autocomplete_field_tag 'hotel_name', '', autocomplete_hotel_hotel_name_hotels_path

3 番目の引数はハッシュであってはなりません。


また、HotelsController でオートコンプリートを指定する必要があります。

class HotelsController < ApplicationController
  autocomplete :hotel, :hotel_name, :full => true
于 2013-09-05T20:26:47.923 に答える