Я использую полиморфные ассоциации в этом случае:полиморфные ассоциации или объединения BELONGS_TO
class Adress < ActiveRecord::Base
belongs_to :addressable, polymorphic: true
end
class User < ActiveRecord::Base
has_many :addresses, as: :addressable
end
То, что я хочу сейчас, это пользователь, чтобы иметь домашний адрес и адрес работы. я мог бы:
class User < ActiveRecord::Base
has_one :home_address, as: :addressable
has_one :work_address, as: :addressable
end
Но тогда я не знаю, какой из них является домашним адресом и который один является рабочим адресом.
Как я могу это достичь?
Да, но addressable_type не помогает мне, потому что то, что он сохраняет, является классом «Пользователь». В любом случае, спасибо за вашу помощь. –
addressable_type - это стандартное имя поля, в котором хранится класс связанного объекта в полиморфном отношении. Вы должны добавить еще одно поле под названием «категория» или что-то такое, что может хранить «Работа», «Домой», «Мобильный» и т. Д. –