X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/baea8dc10eb0399e37850cc5ab857f392f780f1f..aef7439c56cc26ec3faa22aa851f6ed80e5fb691:/app/models/old_way.rb diff --git a/app/models/old_way.rb b/app/models/old_way.rb index 9acf8665d..acf88ddcf 100644 --- a/app/models/old_way.rb +++ b/app/models/old_way.rb @@ -31,13 +31,13 @@ class OldWay < ApplicationRecord include Redactable belongs_to :changeset - belongs_to :redaction - belongs_to :current_way, :class_name => "Way", :foreign_key => "way_id" + belongs_to :redaction, :optional => true + belongs_to :current_way, :class_name => "Way", :foreign_key => "way_id", :inverse_of => :old_ways - has_many :old_nodes, :class_name => "OldWayNode", :foreign_key => [:way_id, :version] - has_many :old_tags, :class_name => "OldWayTag", :foreign_key => [:way_id, :version] + has_many :old_nodes, :class_name => "OldWayNode", :foreign_key => [:way_id, :version], :inverse_of => :old_way + has_many :old_tags, :class_name => "OldWayTag", :foreign_key => [:way_id, :version], :inverse_of => :old_way - validates :changeset, :presence => true, :associated => true + validates :changeset, :associated => true validates :timestamp, :presence => true validates :visible, :inclusion => [true, false] @@ -80,7 +80,7 @@ class OldWay < ApplicationRecord end def tags - @tags ||= old_tags.collect { |t| [t.k, t.v] }.to_h + @tags ||= old_tags.to_h { |t| [t.k, t.v] } end attr_writer :nds, :tags