0

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

信息窗口视图:

<%= link_to 'See Offer', @offer_path %>
4

1 回答 1

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 代码放在部分中,因为它更干净,但您不必使用这种抽象。


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

于 2013-10-26T13:48:37.527 回答