rails 为 jquery-ui 自动完成小部件格式化 json.jbuilder

Posted

技术标签:

【中文标题】rails 为 jquery-ui 自动完成小部件格式化 json.jbuilder【英文标题】:rails formatting a json.jbuilder for jquery-ui autocomplete widget 【发布时间】:2017-08-27 08:18:57 【问题描述】:

我正在使用 jquery-ui 的 autocomplete 小部件。我发现它将其参数作为术语发送,它需要这样的 json

["label": "Client1","label": "Client2" ]

相反,我得到了

["client":"label":"Cliente"]

clients_controller.rb

def index
  @client = Client.all
  @client = Client.paginate(:page => params[:page])
  if params[:term].present?
    @client = @client.where("client_name LIKE ? ", "%#params[:term]%")
  else
    @client = @client.paginate(page: params[:page])
  end

  respond_to do |format|
    format.html
    format.json
  end
end

_client.json.jbuilder

json.client do
  json.label client.client_name
end

如何根据需要格式化 json?

【问题讨论】:

【参考方案1】:

使用json.(@client, :client_name) 而不是循环。

【讨论】:

我遇到语法错误。我也试过json.label(@clients, :client_name),但它也不起作用。你能给我任何其他的建议吗? =) 我正在尝试从this 之类的类似查询中呈现 json。但我也想给 client_name 一个标签别名来返回这样的 json。 ["label": "Client1","label": "Client2" ] 的标签实际上是 client_name 列。对不起,如果我没有说清楚。有任何问题都可以问:)

以上是关于rails 为 jquery-ui 自动完成小部件格式化 json.jbuilder的主要内容,如果未能解决你的问题,请参考以下文章

带有嵌套属性的 Rails Jquery-ui 自动完成

如何使用 ASP.NET 从 MSSQL 中获取 JQuery 自动完成小部件的数据

jQuery-ui 自动完成,选择第一项

jquery-ui 用 simpleform 自动完成

Rails jQuery-自动完成客户端

JQuery UI和RequireJS错误地映射小部件