在我的控制器中:
@arr = []
@jsonPosts = Post.each do |p|
arrLatLng = {}
arrLatLng["latitude"] = p.lat
arrLatLng["longitude"] = p.lon
@arr << arrLatLng
end
@postsLatLng = @arr.to_json
当我使用
console.log(<%= @postsLatLng %>)
时,在视图中我得到了意外的令牌和错误,它显示:console.log([{"latitude":34.0462002,"longitude":-118.2044673},{"latitude":34.0462074,"longitude":-118...
当我将
arrLatLng
更改为数组时,它可以工作:arrLatLng = []
arrLatLng << p.lat
arrLatLng << p.lon
我很好奇:
解决办法是什么?
当我将
arrLatLng
更改为数组时,为什么这样做有效? 最佳答案
尝试http://api.rubyonrails.org/classes/ActionView/Helpers/JavaScriptHelper.html#method-i-jconsole.log(<%= j @postsLatLng %>)
另外,完全不相关,但是您可以这样做:
@postsLatLng = Post.inject([]) { |memo, p|
memo << {latitude: p.lat, longitude: p.lon}
}.to_json
关于javascript - JavaScript不喜欢hashes.to_json吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20450096/