ActiveSupport encode_big_decimal_as_string

Rob*_*Rob 4 ruby ruby-on-rails

我想在我的一个型号上使用该ActiveSupport选项encode_big_decimal_as_string.我应该把它放在模型中吗?我是否在模型实例上调用此方法?我把它放在配置中的某个地方吗?什么是ActiveSupport选项,我该如何使用它?

Nat*_*ace 7

在Rails 4.0中,这些答案都不适合我.这是在Rails 4.0中有效的:

ActiveSupport::JSON::Encoding.encode_big_decimal_as_string = false
Run Code Online (Sandbox Code Playgroud)

将该行添加到应用程序配置中,如下所示:

# config/application.rb

...
module AppName
  class Application < Rails::Application
    ...
    ActiveSupport::JSON::Encoding.encode_big_decimal_as_string = false
    ...
  end
end
Run Code Online (Sandbox Code Playgroud)

正如@ tyler-nguyen所说,这在Rails 4.1中被弃用,并被提取到这个gem:ActiveSupport JSON Encoder.有关4.1中的配置,请参阅gem文档.

  • 对于Rails 4.1,除了上面的`config/application.rb`修改外,还要将`gem'activesupport-json_encoder'添加到你的Gemfile中. (3认同)