开发者

How do I combine two methods into one json formatted variable?

I'm storing JSON formatted data into a var adds with the following methods:

var adds = <%= raw @add.to_a.to_json %>;

var adds = <%= raw @add.nearbys(1).to_json %>;

The first line of code stores the location of an individual in JSON format, the second line of code searches for that person's neighbors, within a 1 mile range. How do I combine both of these lines of code 开发者_开发百科and store the data in JSON format in the var adds variable?

If you are interested in source, its here. The location is layout/adds.html.erb


I'm not sure why it's so important to have both pieces of data in one adds variable (can you simply do var adds and thenvar addNearbys?), but

var adds = {
    all: <%= raw @add.to_a.to_json %>,
    nearbys: <%= raw @add.nearbys(1).to_json %>
};

would get you all the data in one variable, in JSON.

Alternatively, you could do

var adds = <%= {:all => @add.to_a, :nearby => @add.nearbys(1)}.to_json %>

but that takes more processing because you'd be initializing a Hash.


This was recently a huge issue for me and the solution is actually very elegant.

Note: be wary of the to_json solutions for aggregating JSON strings.

See my question here

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜