Каковы ассоциации между моделями в Rails-приложении с подпиской / периодическим биллингом? - PullRequest
0 голосов
/ 18 февраля 2011

Вот как выглядит схема для четырех моделей: http://pastie.org/1576759

В таблице планов хранятся все данные о фактических планах. Подписка хранит каждый месяц, что пользователь «повторно подписывается» на услугу. В транзакции хранится информация о платеже.

Как будут работать ассоциации между моделями?

например. пользователь: принадлежит к плану,: через =>: подписка?

Подписка "has_many": планы?

Я немного размышляю о том, как все это связано с Rails и ассоциациями.

1 Ответ

3 голосов
/ 18 февраля 2011
class Subscription < ActiveRecord::Base
  belongs_to :user
  belongs_to :plan
end

class User < ActiveRecord::Base
  belongs_to :plan
  has_many :subscriptions (or has_one, if a user only has 1 subscription at a time)
  has_many :transactions
end

class Transaction < ActiveRecord::Base
  belongs_to :user
  belongs_to :plan
end

class Plan < ActiveRecord::Base
  has_many :subscriptions
  has_many :users
end
...