gmaps4rails选择范围

时间:2013-02-20 20:07:44

标签: ruby-on-rails-3 gmaps4rails

我有gmaps4rails工作来显示所有位置。但是,我想使用他们的位置显示工作人员的地图。 Workorder belongs_to location。

在工作服务器控制器中,这将显示所有位置:

   @json = Location.all.to_gmaps4rails

但是,这不会显示工作单位置:

   @json = Workorder.location.all.to_gmaps4rails

这是视图代码:

   <%= gmaps("markers" => {"data" => @json, "options" => {"list_container" => "markers_list"} }) %>
   <strong><ul id="markers_list">  </ul></strong>

1 个答案:

答案 0 :(得分:0)

belongs_to指定与另一个类的一对一关联(它只返回一个条目)。

to_gmaps4rails是Enumerable中的一个方法(它希望在数组上调用)。

此外,您无法直接从类中调用关系(它不是类方法,它是实例方法):     Workorder.location.all.to_gmaps4rails

应该是:     a_work_order = WOrkorder.first     a_work_order.location

并将其与to_gmaps4rails

一起使用
[a_work_order.location].to_a.compact.to_gmaps4rails

它不是很漂亮,但它涵盖locationnil时和返回时的内容。