1

gmaps4railsを使用しています。マーカーをクリックすると、データベース内の情報が表示されます。マーカー内にリンクが必要です。どうすればいいですか?gmaps4railsを使用してインフォウィンドウ内にリンクを設定します

モデル:

def gmaps4rails_address 
    city 
end 

def gmaps4rails_infowindow 
    "<h4>#{city}</h4>" 
end 

はコントローラー:

def index 
    @postos = Posto.all 
    @markers = Posto.all.to_gmaps4rails 

    @json = Posto.all.to_gmaps4rails do |posto, marker| 
    marker.json "\"id\": #{posto.id}" 
    end 
    respond_to do |format| 
    format.html # index.html.erb 
    format.json { render json: @postos } 
    end 
end 

答えて

0

私はあなたがgmaps4rails_infowindowメソッドを使用することはお勧めしません:ビューの詳細は、モデル層に与えられるべきではありません。

あなたではなく、部分的に使用して、コントローラに情報ウィンドウを設定する必要があります。

@json = Posto.all.to_gmaps4rails do |posto, marker| 
    marker.infowindow render_to_string(:partial => "/path_to/your_template", :locals => { needed_locales }) 
end 

詳細はgem's wikiです。 (jsテンプレートを使用することもできますが、それは問題ではなく、wikiでも説明されています)

+0

を教えてもらえてください私のテンプレートは何ですか? – Ludimila

+0

必要なものが含まれている基本的なRailsパーシャルを作成してください... – apneadiving

+0

それは答えませんか? – apneadiving

0

ここには2通りあります。

直接コントローラで:

hashes = Gmaps4rails.build_markers(collection) do |item, marker| 
    marker.infowindow(ActionController::Base.helpers.link_to(item.name ||= 'Name?',preplan_path(item)).html_safe) 

    marker.title item.name 
    marker.picture({ 
        # :url => "/assets/building_icon.png", 
        :url => "/assets/text.png", 
        :width => 32, 
        :height => 32 
       }) 
    marker.lat item.latitude 
    marker.lng item.longitude 
end 

とコントローラから部分を使用して:

hashes = Gmaps4rails.build_markers(collection) do |item, marker| 
    marker.infowindow render_to_string(:partial => "/structures/info_window", :locals => { :structure => item}) 

と部分は、あなたが好きなことができます:

# view/structures/_info_window.html.haml 
= link_to structure.name, [structure.preplan, structure] 
- unless structure.longitude.nil? 
    %br 
    = link_to "Drive to?", "https://maps.google.com/maps?daddr=#{structure.latitude},#{structure.longitude}", target: "_blank" 
+0

私はまだ4年前にレール2を勉強していた時にこの質問をしました。 – Ludimila

関連する問題