1

The case is very simple, I just want to format the json result like this:

<%= @cal_dvp_status.to_a.map {|k| [Domain.find(k[0]).name,k[1][0],k[1][1],k[1][2],k[1][3]] } %>

@cal_dvp_status is a hash type, so I transfer it by to_a. I need the first column should be Domain's name, the others are number type. But I don't know why the json can't work. But if I just insert the k[0], which is number type, it works.

<%= @cal_dvp_status.to_a.map {|k| [k[0],k[1][0],k[1][1],k[1][2],k[1][3]] } %>

I don't know why the code doesn't work right now.

4

1 回答 1

4

json.erb 基本上是原始的 json 响应,但有些部分是用 ruby​​ 评估的。例如,这是一个有效的 json.erb,它产生有效的 json:

{ "status" : "success!" }

这是一个生成有效 json 的有效 json.erb:

{ "status" : "<%="success"%>" }

就是这样。

如果您正在编写复杂的 json,您很可能希望使用 jbuilder 或其他 gem。否则,#to_json来自Hash实例的方便方法会返回该表示的 json 字符串。例如,这是一个有效的 json.erb:

<%= { :status => "success" }.to_json %>

现在您可以看到哪种编程逻辑更适合您。

于 2013-09-03T03:25:16.623 回答