2013-07-29 1 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 

Это моя модель, и я хочу, чтобы сохранить данные, чтобы Batch, TransactionGroup и сделкиКак сохранять данные через has_many через ассоциацию в рельсах

Как выполнить эту задачу?

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) 
Смежные вопросы