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

时间:2014-08-06 21:38:07

标签: ruby-on-rails jruby sprockets jrubyonrails

我正在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)

1 个答案:

答案 0 :(得分:1)

你非常喜欢在你的代码的某个地方有一个import java.util.Date或类似的java_import Java::JavaUtil::Date,用另一个替换Ruby Date常量......