2013-07-29 36 views
0
class Batch < ActiveRecord::Base 
    has_many :transaction_groups 
    has_many :transactions , :through=>:transaction_groups 
end 


class TransactionGroup < ActiveRecord::Base 
    attr_accessible :g_id 
    belongs_to :batch 
    has_many :transactions, dependent => :destroy 
end 

class Transaction < ActiveRecord::Base 
    attr_accessible :reference, :transaction_group_id 
    belongs_to :transaction_group 
end 

這是我的模型協會通過的has_many持久化數據,我想在數據保存到批量,TransactionGroup和交易如何通過在軌

如何執行這項任務?

batch.transaction_groups.transactions.build(:transaction_group_id => batch.transaction_groups.id) #this gaves me an error 

回答

1

首先,你必須要找到你想要與交易相關的transaction_group記錄:

transaction_group = batch.transaction_groups.find(id) #(or batch.transaction_groups.first for first record) 

那麼您可以創建相關的交易記錄是:

transaction_group.transactions.build 

,或者

batch.transactions.build(:transaction_group_id => transaction_group.id)