【发布时间】:2014-03-23 01:30:48
【问题描述】:
我需要创建一条与某个位置相关联的路线。
class Location < ActiveRecord::Base
has_many :routes,:foreign_key => "origin_id"
end
并且一条路线属于不同的位置:
class Route < ActiveRecord::Base
belongs_to :origin, :class_name => 'Location', :foreign_key => 'location_id'
belongs_to :destination, :class_name => 'Location', :foreign_key => 'destination_id'
validates :origin, :presence => {:message => 'origin cannot be blank'}
end
location.routes.create({
:destination => resort_location,
:destination_id => resort_location.id,
:total_distance => body['route_summary']['total_distance'],
:total_time => body['route_summary']['total_time'],
:raw => response.body
})
即使我确实有存在验证,也可以在没有来源和目的地的情况下创建记录。 感谢您帮助我。
【问题讨论】:
-
尝试使用列名而不是关系,例如 validates :location_id
标签: ruby-on-rails database activerecord foreign-keys