所以,我正在制作一张地图,我放置了引脚(谷歌地图)。
我有一个查询给我我的针脚的位置,但是我可以有多个针脚具有完全相同的位置但描述不同。
由于某种原因我无法获得有效的解决方案,因此我今天早上一直在桌子上敲头,
这是我到目前为止所做的:
building_permits = BuildingPermit.select('latitude, longitude, street, city, state, permit_number, description, type, id').where(:contractor_id => params[:nid])
@bp = Array.new
building_permits.each do |bp|
@bp.push({"lat" => bp.latitude, "lng" => bp.longitude, "desc" => "<p><b>#{bp.street} #{bp.city}, #{bp.state}</b></p><p><b>Description:</b>#{bp.description}</p><p><b>Permit #{bp.permit_number}</b></p><p><b>#{bp.type}</b></p>", "id" => bp.id})
end
nb_rm = 0
building_permits.each_with_index do |bp, index|
index1 = index
building_permits.each_with_index do |bp2, index|
if bp.longitude == bp2.longitude && bp.latitude == bp2.latitude && bp.id != bp2.id
#debugger
if @bp[index1].present?
@bp[index1]["desc"] << "<br /><br /><b>Description:</b>#{bp2.description}</p><p><b>Permit #{bp2.permit_number}</b></p><p><b>#{bp2.type}</b></p>"
@bp.delete_at(index-nb_rm)
nb_rm += 1
end
end
end
end
我确信有一些非常愚蠢的东西会搞砸整个事情,但找不到它。
答案 0 :(得分:1)
尝试复制您的引脚位置:
# rails < 3.1
new_record = old_record.clone
#rails >= 3.1
new_record = old_record.dup
#and then
new_record.save
然后更改了引脚的描述。
答案 1 :(得分:1)
我遇到了类似的问题并想发布我的解决方案 - 我有重复的作者,想要找到名称属性相同的任何作者,并将相关对象(书籍和推荐)移到每个重复组的第一个,然后删除其他人。
Author.all.each do |a|
@name = a.name
if Author.where(:name => @name).count > 1
first = Author.where(:name => @name).first
a.books.each{|b| b.update_attributes(author_id: first.id)}
a.recommendations.each{|r| r.update_attributes(author_id: first.id)}
end
end
Author.all.each do |a|
if a.books.count == 0 && a.recommendations.count == 0
a.delete
end
end
希望这对某人有帮助!