我正在开展一个rails项目,其中我有一个从我的数据库生成的药房列表。我在地图中有一个小气泡盒,如果我在地图上的索引表中点击其中一个药房,地图中会弹出一个小气泡框。
问题是我有一个我在泡泡盒中显示的网址列表。它看起来很不错,但是当我有一个太大的网址时,它可能会导致问题。所以我要做的是将显示的网址限制为特定数量的字符。
这就是我在JS中的内容
createMarkerBubble = (loc, i) ->
hours = locationHours(loc)
boxHtml = """
<div class='pharmacy-box'>
<div class='MarkerBubble'><h4>#{loc.name}</h4></div>
<hr style="margin: 0.5em auto;" >
<p>#{loc.address.address1}</p>
<p>#{loc.address.city}, #{loc.address.state}, #{loc.address.zip}</p>
<p><a href='#{loc.url}', target=_blank > #{location.url | maxlength: 30 } #{location.url.length > 30 ? '....' : ''} </a></p>
#{if hours? then "<p class='spacer'>#{hours}</p>"}
</div>
"""
问题是我的控制台显示错误Cannot read property 'length' of undefined
当我看到这个时,我认为网址不是字符串,所以我尝试location.url.ToString().length > 30
然而,沿着这条路走下去,给我一个错误Cannot read property 'ToString' of undefined
所以我想知道导致错误的原因是什么,如果有任何方法我可以限制显示多少网址?