我有一个关联用户所属的角色,并希望使用rails3_jquery_autocomplete通过名称搜索用户。我想在选择用户后显示角色的一些值。
这是我的控制器
class UserController < ApplicationController
autocomplete :user, :name, scopes: [:join_role],
extra_data: [:address, :email]
这是我的模特
class User < ActiveRecord::Base
belongs_to :role
attr_accessible :name, :address, :email
scope :join_role, joins(:role)
class Role < ActiveRecord::Base
attr_accessible :name, :level
如何在用户自动填充搜索中获取名称和级别值?
我无法在 extra_data 选项中添加:name ,:level :role ,因为它将返回sql错误。
此处rails3-jquery-autocomplete-search-by-several-fields表示我可以覆盖 get_autocomplete_items 方法,但不知道如何。
那样的东西?
def get_autocomplete_items(parameters)
super(parameters)
result = []
User.join_role.where('....').each do |user|
result << {id: user.id, label: user.name, role: user.role.name,
address: user.address, email: user.email, level: user.role.level }
end
result
end
但它导致哈希的“未定义方法`id'”......