0

すべての場所を表示するために gmaps4rails を使用しています。しかし、場所を使用して作業指示書を含むマップを表示したいと思います。ワークオーダーの所属先ロケーション。

workorders コントローラーでは、すべての場所が表示されます。

   @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>
4

1 に答える 1

0

belongs_to別のクラスとの 1 対 1 の関連付けを指定します (1 つのエントリのみを返します)。

to_gmaps4railsEnumerable のメソッドです (配列で呼び出されることを想定しています)。

また、クラスから直接リレーションを呼び出すことはできません (クラス メソッドではなく、インスタンス メソッドです): 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

きれいではありませんがlocation、あるnilときと何かを返すときの両方をカバーしています。

于 2013-03-13T06:25:55.310 に答える