環境: 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
次のように、複数のトランザクションを作成するアカウントとカテゴリの機械工の設計図を作成したいと思います。
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
トランザクションにはアカウントとカテゴリの両方が必要なため、上記の設計図は失敗します。作成されたトランザクションは関連付けられたカテゴリを持たず、Category.make! の場合と呼ばれます。関連付けられたアカウントを持たないトランザクションが作成されます。Account および Category ブループリント内で手動でトランザクションを作成しようとしましたが、無限ループに陥ります。
どんなアドバイスでも大歓迎です!
ありがとう!