嗨我需要帮助设置与我的数据库中手动分配的外键的rails3-jquery-autocomplete gem。rails3-jquery-autocomplete外键
这里是我的模型看起来像
class User < ActiveRecord::Base
has_many :reservations, :foreign_key => 'reserver_id'
attr_accessible :login, :first_name, :last_name
end
class Reservation < ActiveRecord::Base
belongs_to :reserver, :class_name => 'User'
attr_accessible :reserver, :reserver_id, :reserver_login
end
我的数据库中的用户表有所有的列
保留控制器具有
autocomplete :users, :login
的routes.rb有
resources :reservations do
get :autocomplete_users_login, :on => :collection
end
而在保留查看我有这个
<%= f.autocomplete_field :reserver_id, autocomplete_users_login_reservations_path %>
现在,当我尝试和测试它,我看到调用在我的JavaScript控制台正在取得,但我得到的错误500。例如我试图寻找XNO它位于我的用户数据库的登录列中。
GET http://0.0.0.0:3000/reservations/autocomplete_users_login?term=xno 500 (Internal Server Error) jquery.js:8241
jQuery.ajaxTransport.send jquery.js:8241
jQuery.extend.ajax jquery.js:7720
jQuery.each.jQuery.(anonymous function) jquery.js:7246
jQuery.extend.getJSON jquery.js:7263
a.railsAutocomplete.fn.extend.init.a.autocomplete.source autocomplete-rails.js:17
$.widget._search jquery-ui.js:6547
$.widget.search jquery-ui.js:6540
(anonymous function) jquery-ui.js:6335
这是否与我在我的数据库中使用外键的事实有关?如果是,我应该如何构建我的路线。我正在关注gem文档,并试图设置它,以便我可以查找用户表并按users表的登录列列出用户,但这样id将返回并存储为:一旦选择了用户,就会将其储存为:reserver_id 。与选择字段一起工作的以前的代码是
<%= f.select :reserver_id, User.select_options, :prompt => true %>
其中select_options方法在单个数组中创建登录字符串和id对的数组。
我知道,解决方案可能是很容易的,感谢你的帮助......