2

我有一个关联用户属于_to 角色,并希望使用 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’......”

4

0 回答 0