В модель можно добавить средства доступа для страны и региона, которые могут выполнять поиск и устанавливать соответствующий параметр базы данных. Таким образом, в этом примере «страна» становится настраиваемым виртуальным атрибутом.
class Location
attr_accessor :country
def country= value
country = Country.find_by_name value
self.country_id = country.id if country.present?
end
end
Отказ от ответственности: код не был подтвержден. Обязательно проверяйте, проверяйте, понимайте и улучшайте проверку ошибок.