0

我是一名试图从 json 中提取值的 Rails 新手。视图的代码如下所示:

<% companyarray = @companies.select do |hash| 
                    hash.id == acquisition.acquirer_id
                  end %>
<%= JSON.parse(companyarray.to_json)[0]["name"] %>

在 companyarray 上使用 to_json 之前,我得到的数据集是这样的:

[#<Company id: 504, name: "test", website: "http://info.test.com/", created_at: "2013-08-09 13:27:16", updated_at: "2013-08-09 13:27:16", base_id: nil>]

总而言之,我无法从哈希数组中提取键值。我最终得到了一个undefined method []' for nil:NilClass错误。

这是我的 Rails 控制器的样子:

class AcquisitionsController < ApplicationController
  def index
    @acquisitions = Acquisition.all
    @companies = Company.all
    respond_to do |format|
      format.html
          format.json
    end
  end
end

我不确定出了什么问题。

4

1 回答 1

0

您可以跳过转换为 json,直接使用公司:

<% companyarray = @companies.select do |hash| 
                hash.id == acquisition.acquirer_id
              end %>
<%= companyarray[0].name %>
于 2013-09-25T19:07:25.363 回答