我正在将一个哈希构建到一个数组中,然后将每个哈希推入一个大数组中。这很好用(我正在使用 Gmaps4Rails),但我想知道是否有更多的 Ruby 方法来解决它?
def index
@allpoints = []
@links = Link.find([1, 2, 3])
@links.each do |link|
linkpoints = []
link.link_points.each do |pt|
linkpoints << { :lat => pt.latitude, :lng => pt.longitude }
end
@allpoints << linkpoints
end
@data = @allpoints.to_json
end
解决方案编辑:(我选择了下面的)比我原来的短,但在我看来可读性足够好:
def index
all_points = []
Link.find([1,2,3]).each do |link|
all_points << link.link_points.map { |pt| { lat: pt.latitude, lng: pt.longitude } }
end
@data = all_points.to_json
end