代码之家  ›  专栏  ›  技术社区  ›  intellidiot

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

  •  0
  • intellidiot  · 技术社区  · 11 年前

    我正在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 回复  |  直到 11 年前
        1
  •  1
  •   kares    11 年前

    你很可能有 import java.util.Date 或类似的 java_import Java::JavaUtil::Date 在代码中的某个地方,它取代了Ruby Date 与另一个恒定。。。