私のモデルのレポートでは、totalという名前の属性があります。レポートビューでは、このグラフの最後の4つのエントリが表示されます(以前のレポートの合計属性)。以前のエントリがないときは、グラフがレンダリングされませんでした。私が戻って計算に「to_f」を追加すると、チャートはレンダリングされ、エントリがないところに「0」だけが表示されます。私はうまくいきましたが、それはただの野生の推測でした。なぜこれは機能しましたか?Rails 3 - "to_f"は問題を解決しますが、なぜ私はよく分かりません
0
A
答えて
3
あなたの値はおそらくゼロでした。私はあなたのフォーマッターがnilsとの仕事に熱心ではなかったと推測しています。しかし、nilは0.0を返す.to_fを実装しています。これは、フォーマッタがクラッシュすることなく処理できます。
すなわち
nil.to_f # => 0.0
1
あなたのコードを見ずに私にできることすべては推測です。
あなたのデータベースのいくつかのレポートではreport.totalがnilだったと思います。グラフを作成するために使用しているコードは、nil値を処理できません。
たとえば、nil/2
は例外をスローしますが、nil.to_f/2
は例外をスローします。
関連する問題
- 1. HTTPキープアライブは、ロングポーリングが解決する問題を解決しませんか?
- 2. .httaccess RewriteRuleの問題私は解決できません
- 3. なぜB :: fはあいまいさを解決しませんが、A :: fは解決しますか?
- 4. このコーディングで何が問題なのかよく分かりません。
- 5. これは重複しません(toString()は私の問題を解決しません!!!)オブジェクトを解析する際に問題があります。誰かが私を助けてくれますか?
- 6. 私はクラスに問題があります。コードを正しく書いているかどうかはよく分かりません。
- 7. MAGENTOで何が問題なのか分かりませんか?
- 8. 私のCSSで問題が分かりません。
- 9. 私のAndroidアプリケーションのクラッシュはなぜ分かりませんか?
- 10. itemRendererのデータグリッド内の問題チェックボックス - まだ問題を解決できません
- 11. Android Rは解決できません問題
- 12. 問題のコピーAbsoluteLayout - com.android.internal.Rは解決できません
- 13. は、私が分類問題を解決していますk最近傍分類器
- 14. のRails 3には、エラー番号を取得する:: ENOMEM:十分なスペースがありません、私はModel.all
- 15. は私が自分で解決できない問題を持っている
- 16. Rails Autocompleteはローカルでは動作しますが、おそらくMySQL/Postgreの問題ではありません
- 17. は、私はこの問題を解決する方法を、didSelectRowAtIndexPath発生しませんか?
- 18. 私のintent.putExtrasに問題があります(文字列を解決できません)?
- 19. J2MEティッカーが正しく表示されません。私はそれを解決しようと助けます
- 20. 反射はどのような問題を解決しますか?
- 21. Rails 3 Fixture JoinテーブルのIDが正しくありません
- 22. は、私は小さな問題を解決しようとしている
- 23. なぜ私のclearfixが動作しないのか分かりません
- 24. なぜ<context:component-scan>はOSGiフラグメントバンドルのSpring Beanを解決しませんか?
- 25. 問題を解決できません。issetステートメント
- 26. 簡単な質問ですが、なぜか分かりません。
- 27. 鉱山フレーズ(3ワードまで)私は私の問題に簡単な解決策のために前に頼ま
- 28. JSON.NETは私が解決することができません、次の問題を抱えているTypeパラメータ
- 29. OSGiで「オプションでインポートされたパッケージが見つかりません」問題を解決するには
- 30. rebase中の競合は決してなくなりません
クール、それはまさに何が起こったかです。前のエントリはゼロでした。もう一つの質問ですが、他に "to_f"や "to_i"のような方法がありますか? – FattRyan
.to_s文字列、.to_a配列、.to_set(該当する場合)。それはあなたが扱っているオブジェクトに基づいて変化します。 – zoomix
あなたはOBJECT.methods.select {|メソッド|メソッド[0,2] == 'to'}を見つけてください。 nil.methods.select {のように|メソッド[0,2] == 'to'}、または 'a'.methods.select {| method | method [0,2] == 'to'}、または[:a] .methods.select {| method |メソッド[0,2] == 'to'} – zoomix