Ruby on Rails 3 - 跨多个字段的 jQuery tokeninput 搜索



我安装了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

希望对您进一步有所帮助

相关内容

  • 没有找到相关文章

最新更新