ruby-on-rails-4 – 升级到Rails 4得到了IOError(没有打开读取)
发布时间:2020-12-17 04:20:37 所属栏目:百科 来源:网络整理
导读:我尝试将应用程序从3.2升级到rails 4.我认为所有的宝石冲突此刻已经解决,但后来我知道它可能会再次发生. 虽然我尝试“捆绑exec rails s”并在浏览器中打开应用程序转到app home索引,但它给了我这个错误: IOError(未打开以供阅读) 有人可以帮忙吗?非常感谢.
我尝试将应用程序从3.2升级到rails 4.我认为所有的宝石冲突此刻已经解决,但后来我知道它可能会再次发生.
虽然我尝试“捆绑exec rails s”并在浏览器中打开应用程序转到app home索引,但它给了我这个错误: IOError(未打开以供阅读) 有人可以帮忙吗?非常感谢. 这是我使用的宝石列表: gem 'rails','4.0.1' gem 'sass-rails','~> 4.0.0' gem 'coffee-rails','~> 4.0.0' gem 'uglifier','>= 1.3.0' gem 'jquery-rails' gem 'jbuilder','~> 1.2' # add these gems to help with the transition: gem 'protected_attributes' gem 'rails-observers' gem 'actionpack-page_caching' gem 'actionpack-action_caching' gem "activerecord-session_store" 这是控制台的日志消息: Started GET "/" for 127.0.0.1 at 2013-11-06 20:16:27 +1100 Processing by HomeController#index as HTML PCategory Load (0.5ms) SELECT "p_categories".* FROM "p_categories" Rendered home/index.html.erb within layouts/application (4.1ms) Completed 500 Internal Server Error in 15ms IOError (not opened for reading): activesupport (4.0.1) lib/active_support/json/encoding.rb:256:in `each' activesupport (4.0.1) lib/active_support/json/encoding.rb:256:in `to_a' activesupport (4.0.1) lib/active_support/json/encoding.rb:256:in `as_json' activesupport (4.0.1) lib/active_support/json/encoding.rb:58:in `block in as_json' activesupport (4.0.1) lib/active_support/json/encoding.rb:81:in 'check_for_circular_references' activesupport (4.0.1) lib/active_support/json/encoding.rb:57:in `as_json' activesupport (4.0.1) lib/active_support/json/encoding.rb:296:in `block in as_json' activesupport (4.0.1) lib/active_support/json/encoding.rb:296:in `each' activesupport (4.0.1) lib/active_support/json/encoding.rb:296:in `map' activesupport (4.0.1) lib/active_support/json/encoding.rb:296:in `as_json' activesupport (4.0.1) lib/active_support/json/encoding.rb:58:in `block in as_json' activesupport (4.0.1) lib/active_support/json/encoding.rb:81:in g`check_for_circular_references' activesupport (4.0.1) lib/active_support/json/encoding.rb:57:in `as_json' activesupport (4.0.1) lib/active_support/json/encoding.rb:296:in `block in as_json' activesupport (4.0.1) lib/active_support/json/encoding.rb:296:in `each' activesupport (4.0.1) lib/active_support/json/encoding.rb:296:in `map' activesupport (4.0.1) lib/active_support/json/encoding.rb:296:in `as_json' activesupport (4.0.1) lib/active_support/json/encoding.rb:50:in `block in encode' activesupport (4.0.1) lib/active_support/json/encoding.rb:81:in `check_for_circular_references' activesupport (4.0.1) lib/active_support/json/encoding.rb:49:in `encode' activesupport (4.0.1) lib/active_support/json/encoding.rb:306:in `block in encode_json' activesupport (4.0.1) lib/active_support/json/encoding.rb:306:in `each' activesupport (4.0.1) lib/active_support/json/encoding.rb:306:in `map' 解决方法
事实证明,创业板冲突是我遇到的类似问题的罪魁祸首.我用来自使用Rails的间接相关问题的代码修复了问题.请看下面,我希望这对你有帮助.
#fix for JSON gem/activesupport bug. More info: https://stackoverflow.com/questions/683989/how-do-you-deal-with-the-conflict-between-activesupportjson-and-the-json-gem if defined?(ActiveSupport::JSON) [Object,Array,FalseClass,Float,Hash,Integer,NilClass,String,TrueClass].each do |klass| klass.class_eval do def to_json(*args) super(args) end def as_json(*args) super(args) end end end end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |