В нашем приложении rails 3.1.0 произошла странная ошибка при сохранении новой цитаты в контроллере котировок. Кавычка принадлежит rfq, а rfq 18 был передан в контроллер котировок. Ошибка:
Validation failed: Quoted total is not a number
Отображаются следующие параметры:
{"utf8"=>"✓",
"authenticity_token"=>"p9waUq7wNk6djm9uRtDOA0eHLzzlJuSCWrTsSEBvcck=",
"quote"=>{"test_item_ids"=>["1",
"2"],
"_destroy"=>"false",
"quoted_total"=>"290"},
"commit"=>"Save",
"rfq_id"=>"18"}
Как видно, quoted_total равно 290. Но как-то оно не было распознано как число.
Вот код создания в контроллере кавычек:
@quote = @rfq.quotes.new(params[:quote], :as => :roles_new)
@quote.input_by_id = session[:user_id]
@quote.test_items = TestItem.find_all_by_id(params[:quote][:test_item_ids])
if @quote.save!
redirect_to URI.escape("/view_handler?index=0&msg=quote saved!")
else
flash.now[:error] = "Not saved!"
render 'new'
end
Ошибка вызвана @ quote.save. Код rspec для контроллера котировки имеет ту же ошибку. Что вызвало ошибку? Большое спасибо.