2016-07-06 96 views
-2

我想在Rails中創建同一模型的多個對象,並且我在保存它們時遇到了一些問題。我已經動態添加和刪除字段,但我無法弄清楚如何保存多個對象。在Rails中創建同一模型的多個對象

我從我的瀏覽接收數據是這樣的:

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是主要的交易,datesvalues是從交易主體,另兩筆交易是什麼difers。

我在TransactionController創建的方法是這樣的:

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

Ruby有一些標誌可以幫助你診斷這些問題:'ruby -cwW2 script_to_check.rb' –

回答

0

我發現您的班級名稱存在錯誤。它應該是

Transaction.create({}) 

,但是,你是指它作爲

Trasanction.create({}) 

只需更改類的名稱和它應該工作。

+0

我只會殺死自己...你是對的。它現在有效。 –

相關問題