Среда: Ruby 1.9.2, Rails 3.1, Machinist 2
У меня есть модель транзакции, которая относится как к учетной записи, так и к категории.
class Transaction < ActiveRecord::Base
belongs_to :account
belongs_to :category
validates_presence_of :account_id, :category_id
end
class Account < ActiveRecord::Base
has_many :transactions
end
class Category < ActiveRecord::Base
has_many :transactions
end
Я бы хотел сделать Machinistчертежи для учетной записи и категории, которая создает несколько транзакций, например:
Account.blueprint do
name { "Account #{sn}" }
transactions(3)
end
Category.blueprint do
name { "Category Name #{sn}"}
transactions(3)
end
Transaction.blueprint do
date { Date.current }
amount { "#{rand(100000)}.#{rand(100)}" }
description { "Transaction description #{sn}"}
end
Поскольку для транзакции требуется как учетная запись, так и категория, вышеуказанные чертежи не выполняются, потому что, когда Account.make!называется Транзакции, которые не имеют связанных категорий и когда Category.make!называется Созданные транзакции, не имеющие связанных учетных записей.Я пытался вручную создавать транзакции внутри чертежей «Учетная запись» и «Категория», но в итоге получаю бесконечные циклы.
Любой совет будет принят с благодарностью!
Спасибо!