如何使用gmaps4rails gem创建指向当前Class对象的链接?
我在模型中指定了信息窗口,如下所示:
def gmaps4rails_infowindow
"<h3>#{address}</h3>"
end
但是我想创建一个指向信息窗口中出现的对象显示页面的链接,例如:
def gmaps4rails_infowindow
"#{link_to 'Object' , object_path}"
end
但是因为这是在模型中我不能使用_path或_url。
有没有办法从控制器或其他简单的解决方案中做到这一点?
***更新
控制器:
@json = Offer.where('state = ?', 'new').all.to_gmaps4rails do |offer, marker|
marker.infowindow render_to_string(:partial => "offers/infowindow", :locals => { :object => offer})
marker.picture({
#:picture => "http://www.blankdots.com/img/github-32x32.png",
:width => 32,
:height => 32
})
marker.title "i'm the title"
marker.sidebar "i'm the sidebar"
marker.json({ :id => offer.id, :address => offer.address})
end
Infowindow观点:
<%= link_to 'See Offer', @offer_path %>
答案 0 :(得分:2)
以下是您在控制器中工作时提供的示例:
@json = User.all.to_gmaps4rails do |user, marker|
marker.infowindow render_to_string(:partial => "/users/my_template", :locals => { :object => user})
marker.picture({
:picture => "http://www.blankdots.com/img/github-32x32.png",
:width => 32,
:height => 32
})
marker.title "i'm the title"
marker.sidebar "i'm the sidebar"
marker.json({ :id => user.id, :foo => "bar" })
end
我倾向于将infowindow代码放在partials中,因为它更干净,但你并没有被迫使用这种抽象。
我假设您使用版本&lt; 2.x否则,relevant doc is her e和方法已经改变。