在rails应用程序中,对google的距离矩阵的查询会返回正确的数据。控制器在对象中生成结果
matrix.origins << origin
matrix.destinations << destination
matrix.data
@data = matrix.data
这是一个哈希数组。实例变量@data
返回[[#<GoogleDistanceMatrix::Route origin: #<GoogleDistanceMatrix::Place lat: 61.1173, lng: 13.8875>, destination: #<GoogleDistanceMatrix::Place lat: 61.3405325, lng: 13.7243266>, status: "ok", distance_text: "56.9 km", distance_in_meters: 56948, duration_text: "1 hour 6 mins", duration_in_seconds: 3944>]]
但是,当我对整数不感兴趣时,<%= data["distance_text"].to_s %>
语句会生成no implicit conversion of String into Integer
。因此,当我期望each
命令处理它时,我怀疑它正在调用索引。怎么能这样做呢?
答案 0 :(得分:0)
如果您使用的是Ruby 2.3x或更高版本
reversedList = []
for i in range(len(charList)-1,-1,-1):
reversedList.append(charList[i])
OR
@data.dig(0,0,:distance_text)
答案 1 :(得分:0)
由于它正在使用索引,请使用它!
<% @data.each do |index, data| %>
<div class="small-2 medium-2 large-2 columns text-center">
<%= index.distance_text %>
</div>
<div class="small-2 medium-2 large-2 columns text-center">
<%= index.duration_text %>
</div>
<% end %>