rails3-jquery-autocomplete和mongomapper给出了NoMethodError未定义的方法`table_name`

时间:2012-08-31 00:23:10

标签: jquery ruby-on-rails-3 autocomplete mongomapper

我正在尝试使用rails3-jquery-autocomplete 进行自动填充。我有使用mongomapper的rails应用程序并具有以下模型:

class Port
  include MongoMapper::Document
  set_collection_name "ports__status"
  key :device, String

在我的控制器里我有

class PortsController < ApplicationController
  autocomplete :port, :device

我的任何路线都是:

resources :ports do
  get :autocomplete_port_device, :on :collection
end

所以,在我看来,我有

<form class="uri_replace" method="get" action="/ports/%device%/">
  <input class="inline_replace" name="device" data-autocomplete="/ports/autocomplete_port_device"></input>
  <input type="submit">
</form>

(我在action上重写了为更''宁静'的查询界面提交输入值)

所以我加载页面,我可以在输入表单后看到ajax请求...但是,我收到以下错误:

NoMethodError in PortsController#autocomplete_port_device

  undefined method `table_name' for Port:Class

任何建议?

1 个答案:

答案 0 :(得分:0)

rails3-jquery-autocomplete gem可以与MongoDB一起使用,但前提是您使用mongoid gem, mongomapper

参考:https://github.com/crowdint/rails3-jquery-autocomplete#mongoid