长度未定义&& ToString()未定义

时间:2016-02-25 15:33:59

标签: javascript ruby-on-rails

我正在开展一个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

所以我想知道导致错误的原因是什么,如果有任何方法我可以限制显示多少网址?

0 个答案:

没有答案