Создание ассоциаций третьего уровня, где второй уровень принадлежит_ третьему в Rails ActiveRecord - PullRequest
0 голосов
/ 11 октября 2010

У меня есть следующая модель, покупка, в моем приложении Rails:

class Purchase < ActiveRecord::Base
  [...]
  belongs_to :payment, :validate => true
  belongs_to :day, :foreign_key => :day_day, :primary_key => :day, 
    :counter_cache => true
  [...]
end

И у меня есть модель Day:

class Day < ActiveRecord::Base
  [...]
  has_many :purchases, :foreign_key => :day_day, :primary_key => :day
  [...]
end

Я хотел бы создать связь междудень и платежи произошли в течение этого дня с помощью модели покупки.Возможно ли это?

Большое спасибо!

1 Ответ

1 голос
/ 28 октября 2010

Может помочь, если вы немного подробнее расскажете о том, почему ваши отношения настроены так, как они есть.

Мой первый вопрос: из чего состоит объект Day? Может ли он быть заменен наличием атрибута приобрело на модели Purchase
Если это так, это можно сделать довольно легко через область действия Purchase.

Во-вторых, как у вас сейчас, у одного Payment есть много Purchases. Это действительно то, что вы имеете в виду, или вы действительно хотите Purchase, который имеет много Payments?

Дайте мне знать, и я посмотрю, сможем ли мы что-нибудь сработать для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...