我安装了JQuery令牌输入插件。 https://github.com/loopj/jquery-tokeninput自动完成正在工作,但我遇到跨多个模型属性搜索的情况。 例如,我有一个药物模型,模型属性包括名称和活性成分
我正在使用 meta_where gem 在多个字段中搜索,并且它工作正常;检查 json 输出显示我的 Drug.where() 方法返回正确的结果行。 但是,在前端,jQuery仅用药物名称填充自动完成框。 如何让 jQuery 在自动完成框中显示多个模型属性? 理想情况下,我想在自动完成下拉列表中显示类似"model.name(model.active_ingredient)"的内容。 现在,jQuery tokeninput正在获取正确的行,但只显示名称。 如何显示模型的其他属性?
谢谢
你可以组合json的名称和active_ingredient,因为,您只能使用名称:"阿司匹林(Mentol)"
当您从控制器返回它并分离它时,就像您需要它一样。
(在您的药物模型中)
def fullname
"#{name} (#{active_ingrdient})"
end
您所需要的只是在 JSON 填充中使用您的 fullName 属性设置 Name: 参数
format.json do
render :json => @drugs.map { |drug| drug.as_json(:only => :id, :methods => :name) }
end
要手动设置:
format.json do
render :json => @drugs.map { |drug| {:id => drug.id, :name => drug.fullname} }
end
希望对您进一步有所帮助