Ruby on rails 未定义的方法`符号化\u键';对于2:Fixnum

Ruby on rails 未定义的方法`符号化\u键';对于2:Fixnum,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,我正在使用ruby 1.9.2和rails 3。我在运行应用程序时遇到以下错误 错误: undefined method `symbolize_keys!' for 2:Fixnum line #606 raised: 代码:线路号606 <%= f.text_field :total_amount ,:label=>'Grand Total',:value =>number_with_precision(0,2),:readonl

我正在使用ruby 1.9.2和rails 3。我在运行应用程序时遇到以下错误

错误:

           undefined method `symbolize_keys!' for 2:Fixnum  line #606 raised: 
代码:线路号606

         <%= f.text_field :total_amount ,:label=>'Grand Total',:value =>number_with_precision(0,2),:readonly=>true %>

请帮我纠正这个错误。提前感谢

精度为的数字\u
要求第二个参数是选项散列


一般来说,每当您看到“undefined method’symbol_keys!”,这意味着您在传递其他对象或值,Ruby/Rails需要一个
散列

为那些不使用Ruby但在使用Ruby编码的API(如Clock Hotel软件)时看到此错误的用户提供此信息。我向它发布了一个JSON字符串,如
{“date”:“2013-04-05”,“value”:3}
,并得到了错误。原来我应该发布一个数组:
[{“日期”:“2013-04-05”,“值”:3}]
更正了错误

因此,要扩展这个问题的答案,请确保您在程序另一端提供的内容是预期的类型

 actionpack (3.0.0) lib/action_view/helpers/number_helper.rb:238:in `number_with_precision'

 app/views/cashier/cashier/billing.rhtml:606:in `block (2 levels) in _app_views_cashier_cashier_billing_rhtml__3412897403160140582_59881040__1001215579093570677'

 actionpack (3.0.0) lib/action_view/helpers/capture_helper.rb:39:in `block in capture'

 actionpack (3.0.0) lib/action_view/helpers/capture_helper.rb:171:in `with_output_buffer'

 actionpack (3.0.0) lib/action_view/helpers/capture_helper.rb:39:in `capture'