]> git.openstreetmap.org Git - rails.git/blobdiff - app/models/way_tag.rb
Refactor the profile page to move the profile information out of the header
[rails.git] / app / models / way_tag.rb
index fa9b4336177061287d00d4b153a9da6cef28c6a9..0d32d8c41631402f7b104b6b60b881308a9ab6c5 100644 (file)
@@ -1,14 +1,23 @@
-class WayTag < ActiveRecord::Base
-  set_table_name 'current_way_tags'
+# == Schema Information
+#
+# Table name: current_way_tags
+#
+#  way_id :bigint(8)        not null, primary key
+#  k      :string           default(""), not null, primary key
+#  v      :string           default(""), not null
+#
+# Foreign Keys
+#
+#  current_way_tags_id_fkey  (way_id => current_ways.id)
+#
 
-  # False multipart keys. The following would be a hack:
-  # set_primary_keys :id, :k, :v
-  # FIXME add a real multipart key to waytags so that we can do eager loadin
+class WayTag < ApplicationRecord
+  self.table_name = "current_way_tags"
+  self.primary_keys = "way_id", "k"
 
-  belongs_to :way, :foreign_key => 'id'
-  
-  validates_presence_of :id
-  validates_length_of :k, :v, :maximum => 255, :allow_blank => true
-  validates_uniqueness_of :id, :scope => :k
-  validates_numericality_of :id, :only_integer => true
+  belongs_to :way
+
+  validates :way, :presence => true, :associated => true
+  validates :k, :v, :allow_blank => true, :length => { :maximum => 255 }, :characters => true
+  validates :k, :uniqueness => { :scope => :way_id }
 end