私は関連付けられているユーザーの所属_ロールがあり、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、:levelをextra_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」...」という結果になります。