1

我对rails很陌生,所以请多多包涵。我还没有完全掌握所有的“魔法”。

基本上我需要访问 Javascript 中的 Location 对象,它们都包含 0-N 坐标。我很确定模型设置正确,每个坐标都有一个 location_id。

我设法使用以下方法获取解析的位置对象 JSON:我把

  def index
     @locations = Location.all.to_json
  end 

在控制器中,并在视图中访问它

var theLocations = <%= @locations.html_safe %>;

但是,当我在日志中显示此变量时,它不显示坐标,这是有道理的。问题是,我计划遍历所有位置,并为每个位置创建一个具有相关坐标的 javascript var。然后这些变量将作为对象传递给 Google 地图。

基本上我打算做类似(伪代码)的事情:

for(Location l in Locations){

    get all Coordinate objects within Location

    for(Coordinate c: Coordinates);

        var myObject = new google.maps.LatLng(c.X, c.Y),
        add myObject to list for this location.
    }
}

我只是不确定如何解决这个问题。如何获得对位置内坐标的引用?

4

1 回答 1

1

快速而肮脏的答案是在您的to_json调用中传递一个参数:

@locations = Location.all.to_json(:include => :coordinate)

您可能还需要考虑通过在此之后覆盖对象并将其呈现为 JSON来创建自定义 JSON 结构。as_json

于 2012-07-07T22:10:45.610 回答