0

Rails でプリコンパイルされたアセットに関する多くの投稿を見てきましたが、特定の問題に関連する投稿は見当たりません。

私のアプリケーションは、aplication.css.scss がプリコンパイルされていないと不平を言っています。

私が理解していることから、 *.scss ファイルは、実行時に Rails アプリケーションでコンパイルする必要があります。

rake assets:precompile

public/assets フォルダーで、コンパイルされた application.css ファイルが表示されることも確認しました。

ただし、アプリケーションの最初のページにアクセスしようとすると、次のエラーが発生します。

Compiled application.css  (1002ms)  (pid 20298)
Started GET "/" for 10.20.1.162 at 2013-01-21 12:21:38 -0500
Processing by MyController#new as HTML
  Rendered business_searches/partials/_form.html.erb (16.6ms)
  Rendered business_searches/new.html.erb within layouts/application (45.6ms)
  Rendered commons/_documenthead.html.erb (34.0ms)
Completed 500 Internal Server Error in 139ms

ActionView::Template::Error (application.css.scss isn't precompiled):
    4: <meta charset="utf-8" />
    5:   <title>My Company Name | <%= @page_title || 'My Company Tagline' %></title>
    6:
    7:  <%= stylesheet_link_tag  "application.css.scss", :media => "all" %>
    8:  <%= javascript_include_tag "application" %>
    9:
    10:
  app/views/commons/_documenthead.html.erb:7:in `_app_views_commons__documenthead_html_erb___1078677729313377561_30352020'
  app/views/layouts/application.html.erb:1:in `_app_views_layouts_application_html_erb___646383708034639720_28260100'

config/environments/production.rbファイルに次の変数を設定することで、問題を解決できました。

config.assets.compile = true

しかし、この投稿によると、それはお勧めできません。

4

2 に答える 2

1

css アセットを管理するためだけにマニフェスト ファイルを保持application.cssし、プレフィックスを付けないようにすることをお勧めします.scssapplication.html.erbファイルの正しい構文は次のとおりです。

<%= stylesheet_link_tag  "application", :media => "all" %>

「application.css , just create a newcss.scss file in yourapp/assets/stylesheets」にいくつかのスタイルを配置し、そこに配置した場合。

于 2013-01-21T17:56:51.227 に答える
0

これは、scss ファイルにコンパイル時エラーが発生しているためです。その内容を既知の有効なものに置き換えると、コンパイルされると確信しています。

コメントして、コンパイルできるかどうかを確認できます。

ベース CSS として常に「application.CSS」を使用します。他は別にする必要があります。

于 2013-01-21T18:12:09.607 に答える