2016-07-06 7 views
-2

Я хочу создать многократные объекты одной модели в Rails, и я сталкиваюсь с некоторыми проблемами, сохраняя их. Я уже добавляю и удаляю поля динамически, но я не могу понять, как сохранить многократные объекты.Создание нескольких объектов одной и той же модели в 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 является главной сделкой, 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

Я просто убью себя ... Вы правы. Теперь это сработало. –

Смежные вопросы