JRuby on Rails:为stylesheet_link_tag发布日期解析问题



我正在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.4jRuby版本:jRuby 1.7.10 (1.9.3p392)

你很可能在你的代码中有一个import java.util.Date或类似的java_import Java::JavaUtil::Date,它将Ruby Date常数替换为另一个…

最新更新