我正在使用部分“infowindow”(app / view / tech / _infowindow.html.erb)来填充谷歌地图标记:
new_marker = GMarker.new([t.lat, t.lng], :icon => icon, :title => t.summary, :info_window => (render_to_string :partial => "infowindow", :object => t))
但是我得到了一个非常奇怪的错误。当我简单地说:
<%= debug(infowindow) %>
我得到哈希的完整输出。但是,当我尝试引用任何单个属性时:
<%= infowindow.summary %>
我为nil抛出了一个未定义的方法`summary':NilClass,即使该属性出现在整个哈希的调试输出中。为什么我只能访问整个哈希而不是部分中的各个属性?
编辑:返回哈希的顶部:
!ruby/object:Ticket
attributes:
如果有帮助,正在使用的模型是Ticket对象。
答案 0 :(得分:2)
您要做的是在infowindow散列上调用方法summary
,该散列不存在于Hash类中,因此也就是错误。要访问单个哈希元素,请尝试以下
<%= infowindow["summary"] %>