29 lines
662 B
Ruby
29 lines
662 B
Ruby
|
class Region < ApplicationRecord
|
||
|
extend FriendlyId
|
||
|
friendly_id :name, use: :slugged
|
||
|
|
||
|
has_many :countries, dependent: :restrict_with_error
|
||
|
has_many :cities, through: :countries
|
||
|
|
||
|
validates :name, presence: true
|
||
|
validates :code, presence: true, uniqueness: true
|
||
|
|
||
|
def to_s
|
||
|
name
|
||
|
end
|
||
|
|
||
|
def localized_name
|
||
|
I18n.t("regions.#{code}")
|
||
|
end
|
||
|
|
||
|
# 模型中允许被搜索的关联
|
||
|
def self.ransackable_associations(auth_object = nil)
|
||
|
[ "countries", "cities" ]
|
||
|
end
|
||
|
|
||
|
# 允许被搜索的属性列表
|
||
|
def self.ransackable_attributes(auth_object = nil)
|
||
|
[ "code", "created_at", "id", "id_value", "name", "slug", "updated_at" ]
|
||
|
end
|
||
|
end
|