В настоящее время я работаю над моделью для User
, которая has_many :addresses
;Эти адреса образуют небольшую адресную книгу, из которой пользователь может выбирать адреса доставки и почтовые адреса.
Мой вопрос: как лучше всего пометить один из объектов Address
в отношениях has_many
в качестве адреса по умолчанию?
Один из способов (я думаю, что я правильно понял) будет поддерживать эти отношения:
class User < ActiveRecord::Base
has_many :addresses, :dependent => :destroy
has_one :default_address, :class_name => "Address"
class Address < ActiveRecord::Base
belongs_to :user
belongs_to :user, :foreign_key :default_address_id
, но я знаю, что это неаккуратнодве ссылки между моим адресом по умолчанию и моим пользователем.
Должен ли я установить логический адрес по умолчанию в адресе и получить значение по умолчанию с помощью scope
?(Это добавляет дополнительную проверку, так как я не хочу нескольких адресов по умолчанию ... хм.)
Я полагаю, что это должно происходить довольно часто в приложениях с управлением адресами, поэтому решил, что я выложу свойидеи и просто спросить.Будем весьма благодарны за любые рекомендации по наилучшей практике.