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

第三个参数不应该是散列。


您还需要在 HotelsController 中指定您想要自动完成功能:

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