无法从json中提取值

时间:2013-09-25 19:04:30

标签: ruby-on-rails json

我是一个试图从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

我不确定出了什么问题。

1 个答案:

答案 0 :(得分:0)

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

<% companyarray = @companies.select do |hash| 
                hash.id == acquisition.acquirer_id
              end %>
<%= companyarray[0].name %>