我试图创建一个记录您旅行的简单应用程序。应该获得两个位置(通过嵌套模型),然后在/ show~中显示它们之间的距离 不幸的是,我可以开一个新的旅行,但我无法获得距离的观点。但是,如果我想把'location.address'它也不起作用。
行程控制器:
def index
@trips = Trip.all
@trip = Trip.new
2.times do
location = @trip.locations.build
end
end
def show
@trip = Trip.includes(:locations).find(params[:id])
end
位置模型:
class Location < ActiveRecord::Base
belongs_to :trip
extend Geocoder::Model::ActiveRecord
geocoded_by :address
after_validation :geocode, :if => :address_changed?
end
旅行模式:
class Trip < ActiveRecord::Base
has_many :locations
accepts_nested_attributes_for :locations
end
显示旅行视图:
<% for location in @trip.locations %>
<li><%= location.distance %></li>
<% end %>
我很感激任何帮助。
编辑: 好的,所以我找到了如何计算特定地点之间的距离,但我不知道如何将一个嵌套模型中的两个位置添加到此代码中?:
@distance = Geocoder::Calculations.distance_between([place1], [place2])