繁体   English   中英

gmaps4rails infowindows(ruby / rails)

[英]gmaps4rails infowindows (ruby/rails)

如何使用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 %>

当然,请阅读此处的文档。

以下是您在控制器中工作时提供的示例:

@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中,因为它更干净,但你并没有被迫使用这种抽象。


我假设您使用版本<2.x,否则相关文档是她的 e并且方法已更改。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM