1

Windows で Jruby 1.6.4 を実行している場合 - この問題は、Sprockets 2.0.0 および 2.0.2、Rails 3.1.0 および 3.1.1 で発生します。js ランタイムとして therubyrhino を使用していますが、これは execjs (jscript を正しく検出する) を使用する場合にも発生します。

スキャフォールディングされたコントローラーを使用してサンプル Rails プロジェクトを起動します。サーバーを起動します。コントローラーの css.scss ファイルを編集して、変更を加えて保存します。ページを更新。Mac/Linux では問題ありません。ただし、Windows では「同じファイル」エラーが発生します。これは、css.scss ファイルを変更するたびに発生します。これを回避するには、rake assets:clean を実行する必要があります。

coffeescript ファイルについても同じ動作です (ただし、Windows のみ)。スプロケット担当者に尋ねたところ、Rails コア チーム (私が所属しているチーム) に尋ねることを勧められました。ここでも質問をフォークすることにしました。

何かご意見は?

ところで、ここにエラーのサンプルがあります:

ActionView::Template::Error (same file:     C:/DEV/Information_Center/rubyw/edist3/tmp/cache/assets/sprockets%2F25f4cb117025b2fbc2fb480688c87da0.6816.15608 and    C:/DEV/Information_Center/rubyw/edist3/tmp/cache/assets/D34/450/sprockets%2F25f4cb117025b2fbc2fb480688c87da0):
3:

4: <%= yield :page_title %> | foo.com
5: <%= stylesheet_link_tag "application" %>
6: <%= stylesheet_link_tag "article" %>
7: <%= javascript_include_tag "application" %>
8: <%= javascript_include_tag "article" %>
9: <%= csrf_meta_tags %>
app/views/layouts/article.html.erb:6:in     `_app_views_layouts_article_html_erb___1475428847_7158'
Rendered C:/DEV/programs/jruby-1.6.4/lib/ruby/gems/1.8/gems/actionpack-    3.1.1/lib/action_dispatch/middleware/templates/rescues/_trace.erb (0.0ms)
Rendered C:/DEV/programs/jruby-1.6.4/lib/ruby/gems/1.8/gems/actionpack-    3.1.1/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (0.0ms)
Rendered C:/DEV/programs/jruby-1.6.4/lib/ruby/gems/1.8/gems/actionpack-    3.1.1/lib/action_dispatch/middleware/templates/rescues/template_error.erb within rescues/layout (0.0ms)
Rendered C:/DEV/programs/jruby-1.6.4/lib/ruby/gems/1.8/gems/actionpack-3.1.1/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (0.0ms)
Rendered C:/DEV/programs/jruby-1.6.4/lib/ruby/gems/1.8/gems/actionpack-3.1.1/lib/action_dispatch/middleware/templates/rescues/template_error.erb within rescues/layout (0.0ms)
4

1 に答える 1

0

回避策

まあ、これについてはまだ Rails コア チームからあまり注目されていませんが、この回避策により、Windows 上の Jruby を介して、スプロケットと Rails を少しうまくプレイできるようになるようです。

-development.rbに追加

config.assets.cache_store = nil

于 2011-12-05T19:50:08.553 に答える