我正在jRuby上使用Rails开发一个项目。一切都很好,直到一个奇怪的问题触发内部服务器错误。奇怪的是,在某些情况下它会完美地加载,尽管代码在任何地方都没有变化。
它起源于这一行:
<%= stylesheet_link_tag 'application', media: 'all' %>
,错误是:
undefined method `_parse' for Java::JavaUtil::Date:Class
堆栈跟踪的前几行看起来像:
<home_dir>/.rvm/rubies/jruby-1.7.10/lib/ruby/1.9/time.rb:265:in `parse'
sprockets (2.11.0) lib/sprockets/processed_asset.rb:79:in `initialize'
sprockets (2.11.0) lib/sprockets/processed_asset.rb:47:in `init_with'
org/jruby/RubyArray.java:2409:in `map'
sprockets (2.11.0) lib/sprockets/processed_asset.rb:46:in `init_with'
sprockets (2.11.0) lib/sprockets/asset.rb:24:in `from_hash'
sprockets (2.11.0) lib/sprockets/caching.rb:54:in `cache_asset'
sprockets (2.11.0) lib/sprockets/index.rb:93:in `build_asset'
sprockets (2.11.0) lib/sprockets/base.rb:287:in `find_asset'
sprockets (2.11.0) lib/sprockets/index.rb:61:in `find_asset'
...
作为一般性故障排除我尝试删除所有最新的样式表和javascript文件。已禁用turbolinks
,但问题仍然存在。
有没有人遇到过这个问题?有任何建议如何克服,甚至如何绕过这个问题?
Rails版本:4.1.4 jRuby版本:jruby 1.7.10(1.9.3p392)
答案 0 :(得分:1)
你非常喜欢在你的代码的某个地方有一个import java.util.Date
或类似的java_import Java::JavaUtil::Date
,用另一个替换Ruby Date
常量......