0
引用符コントローラに新しい引用符を保存するとき、私たちのレール3.1.0アプリケーションに奇妙なエラーがあります。クォートはrfqに属し、rfqは18がクォートコントローラに渡されたものです。エラーは次のとおりです。表示入力された整数は、レール3.1.0で数値として取られませんでした
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コードにも同じエラーがあります。エラーの原因本当にありがとう。
はい:validates_numericality_of:quoted_total、:greater_than => 0.00。しかし、paramsによって返されるすべてのデータはすべて文字列であり、モデルはそれらを変換する方法を知っています。 – user938363
問題が見つかりました! attr_accessibleの間違った名前が原因です。 quoted_totalはattr_accessibleにないため、その値を渡すことはできません。 – user938363