В моем приложении у меня есть Country
, Region
& City
.
class Country < ActiveRecord::Base
has_many :cities
has_many :regions
class Region < ActiveRecord::Base
belongs_to :country
has_many :cities
class City < ActiveRecord::Base
belongs_to :country
belongs_to :region
Это моя модель, где у меня есть фильтры
scope :with_country_id, lambda { |country_ids|
where(:country_id => [*country_ids])
}
delegate :name, to: :country, prefix: true
scope :with_region_id, lambda { |region_ids|
where(:region_id => [*region_ids])
}
delegate :name, to: :region, prefix: true
scope :with_city_id, lambda { |city_ids|
where(:city_id => [*city_ids])
}
delegate :name, to: :city, prefix: true
Фильтрсам по себе работает нормально, но могу ли я сделать фильтр, чтобы, когда пользователь выбрал country
, мои with_region_id
& with_city_id
, также обновлялись в зависимости от их ассоциации?
Например, у меня есть страны: США, Великобритания когда пользователь выбирает UK , with_region_id
обновляется и отображает только те регионы, которые относятся к UK ,
Anyпомощь приветствуется и спасибо заранее!