我想在Rails中创建同一模型的多个对象,并且我面临一些保存它们的问题。我已经动态添加和删除字段,但我无法弄清楚如何保存多个对象。
我从我的View中收到数据:
Parameters: {
"utf8"=>"✓",
"authenticity_token"=>"0aoRgalvZPKdBJr15EooxNCimh2C6R2RBYi3wTXTpaIwpzb8cNSAH/968932KFscg8eiNPej1x2iYFsaWalVQw==",
"transaction"=>{
"client_id"=>"206",
"invoice_id"=>"1",
"date"=>"07/07/2016",
"value"=>"50",
"description"=>""},
"dates"=>[
"07/08/2016",
"07/09/2016"],
"values"=>[
"49",
"48"],
"commit"=>"Save"}
transaction
是主要交易,dates
和values
是主要交易和其他两个交易的不同之处。
我在TransactionController中的create方法是这样的:
def create
@transaction = Transaction.new(transaction_params)
dates = params['dates']
values = params['values']
if(!dates.nil?)
@transactions_ = []
dates.length.times do |i|
t = Trasanction.create(
client_id: @transaction.client_id,
invoice_id: @transaction.invoice_id,
description: @transaction.description,
date: dates[i],
value: values[i])
@transactions_ << t
end
end
respond_to do |format|
if @transaction.save
@transactions_.each do |t|
t.save
end
format.html { redirect_to @transaction, notice: 'Transaction succefully created.' }
format.json { render :show, status: :created, location: @transaction }
else
format.html { render :new }
format.json { render json: @transaction.errors, status: :unprocessable_entity }
end
end
end
但是我收到了这个错误:
uninitialized constant TransactionsController::Trasanction
t = Trasanction.create(
显然我无法以这种方式致电Transaction.create
,但我几乎可以肯定我在教程中看到了类似的内容。
答案 0 :(得分:0)
我看到你的班级名字有误。它应该是
Transaction.create({})
但是,你指的是
Trasanction.create({})
只需更改班级名称即可。