从 Rails 2 升级到 3:未定义的方法 use_standard_json_time_format
Upgrading from Rails 2 to 3: undefined method use_standard_json_time_format
我正在尝试将 Rails 从 2.3 升级到 3.1。我观看了 Railscast 的升级视频,但遇到了一些困难。
我遵循的步骤:
- 从稳定分支创建一个单独的 Rails 3 分支。
- 将 RVM 更新并重新加载到最新版本。
gem install rails -v 3.0.20
.
rails upgrade check
和 rails upgrade backup
使用 Rails 升级插件。
rails new . --skip-active-record
当我启动服务器时出现此错误:
initializers/new_rails_defaults.rb:13:in `<top (required)>': undefined method `use_standard_json_time_format=' for ActiveSupport:Module (NoMethodError)
有人可以帮忙吗?
use_standard_json_time_format
的默认值在 Rails 3.0.20 和 3.1.0 之间从 false
更改为 true
,因此取决于您的目标版本(你的问题都提到了),你也许可以放弃配置。
如果您正在挑选 ActiveSupport 模块,请确保您需要 ActiveSupport::JSON::Encoding
,它定义了方法。
require 'active_support'
require 'active_support/json/encoding'
而且由于 ActiveSupport.use_standard_json_time_format
只是委托给 ActiveSupport::JSON::Encoding
,您也可以尝试直接在后者上调用它。
ActiveSupport::JSON::Encoding.use_standard_json_time_format = true
我正在尝试将 Rails 从 2.3 升级到 3.1。我观看了 Railscast 的升级视频,但遇到了一些困难。
我遵循的步骤:
- 从稳定分支创建一个单独的 Rails 3 分支。
- 将 RVM 更新并重新加载到最新版本。
gem install rails -v 3.0.20
.rails upgrade check
和rails upgrade backup
使用 Rails 升级插件。rails new . --skip-active-record
当我启动服务器时出现此错误:
initializers/new_rails_defaults.rb:13:in `<top (required)>': undefined method `use_standard_json_time_format=' for ActiveSupport:Module (NoMethodError)
有人可以帮忙吗?
use_standard_json_time_format
的默认值在 Rails 3.0.20 和 3.1.0 之间从 false
更改为 true
,因此取决于您的目标版本(你的问题都提到了),你也许可以放弃配置。
如果您正在挑选 ActiveSupport 模块,请确保您需要 ActiveSupport::JSON::Encoding
,它定义了方法。
require 'active_support'
require 'active_support/json/encoding'
而且由于 ActiveSupport.use_standard_json_time_format
只是委托给 ActiveSupport::JSON::Encoding
,您也可以尝试直接在后者上调用它。
ActiveSupport::JSON::Encoding.use_standard_json_time_format = true