Помощь по вставке записи в БД - PullRequest
0 голосов
/ 25 января 2011

Я хотел бы вставить запись в свою базу данных на основе значений параметров строки запроса, в тот момент, когда у меня есть только методы scaffold, и он работает, он принимает значения в новом методе, а затем, когда кнопка sumbitнажата, она вставлена ​​в БД.

Как я могу "пропустить" нажатие кнопки, чтобы она была вставлена ​​только в новом методе?

Код:

@book = Book.new(params[:book])
@book = Book.new({:user_id=>session[:user_id], :author=>session['test']})

respond_to do |format|
  if @book.save
    format.html { redirect_to(@book, :notice => 'Book was successfully created.') }
    format.xml  { render :xml => @book, :status => :created, :location => @book }
  else
    format.html { render :action => "new" }
    format.xml  { render :xml => @book.errors, :status => :unprocessable_entity }
  end
end

1 Ответ

0 голосов
/ 25 января 2011

Поместите это в действие, для которого вы хотите автоматически сохранить:

@book = Book.new(params[:book])
@book.save

Что-то, что вы можете добавить: Сохранять, только если установлено params [: book]:

unless params[:book].blank?
  @book = Book.new(params[:book])
  @book.save
end

Также подумайте об обработке ошибок.Что если книга не может быть сохранена?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...