Рельсы, модули, запросы и я? - PullRequest
0 голосов
/ 08 февраля 2011

Я пытаюсь оставаться СУХИМ в своем в противном случае сыром коде, и я разделяю некоторые методы адреса между различными классами, которые используют адрес, и я пытаюсь поместить их в модуль, но не уверен, что делаю это правильно.Вот что я хочу сделать, но я не уверен в двух вещах.Во-первых, будет ли это работать с использованием адреса из класса, включающего этот модуль, а во-вторых, я не уверен, куда добавить ADDRESS_TYPES.

module AddressModule
  class << self
    def delivery_address
      where(address_type: ADDRESS_TYPES.delivery)
    end

    def billing_address
      where(address_type: ADDRESS_TYPES.billing)
    end
  end
end

В-третьих, имеет ли смысл приведенный выше код, если он включен, напримеркласс аккаунта?

1 Ответ

0 голосов
/ 09 марта 2011

Я закончил с чем-то гораздо более простым ...

  has_many :addresses, :as => :addressable, :dependent => :destroy

  has_one :billing_address, :as => :addressable  
  validates :billing_address, presence:true
  accepts_nested_attributes_for :billing_address,
    :allow_destroy  => true,
    :reject_if      => missing_attrs?('street_one', 'zip', 'city', 'country_id')

  has_one :delivery_address, :as => :addressable
  validates :delivery_address, presence:true   
  accepts_nested_attributes_for :delivery_address,
    :allow_destroy  => true,
    :reject_if      => missing_attrs?('street_one', 'zip', 'city', 'country_id')    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...