2

私は関連付けられているユーザーの所属_ロールがあり、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

ユーザーのオートコンプリート検索で名前とレベルの値を取得するにはどうすればよいですか?

:name:levelextra_dataオプションに追加することも、: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