4

我正在使用 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 %>

应用程序跟踪:

 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'

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

4

2 回答 2

10

number_with_precision期望第二个参数是选项哈希

http://api.rubyonrails.org/classes/ActionView/Helpers/NumberHelper.html#method-i-number_with_precision

通常,每当您看到“未定义的方法 'symbolize_keys!'”时,这意味着您正在传递 Ruby/Rails 期望的其他对象或值Hash

于 2013-02-11T05:32:11.793 回答
0

把这个放在这里是为了那些不使用 Ruby 但在使用用 Ruby 编码的 API(例如 Clock Hotel Software)时看到此错误的人。我发布了一个类似的 JSON 字符串{"date":"2013-04-05","value":3}并收到错误。原来我应该发布一个数组:[{"date":"2013-04-05","value":3}]更正了错误。

因此,要扩展aisrael的答案,请确保您在另一端为程序提供的类型是预期的。

于 2016-03-04T14:13:41.857 回答