0

リンクを修正しようとしています:

http://92.51.243.6/

なぜ機能しないのかわかりません。私が話しているリンクは、ページの上部にある「ホーム」と「概要」です。ローカル WEBrick モードではすべて正常に動作します。Ajax が問題になる可能性があると聞いたので、これらのリンクから :remote=> true を取り出し、ajax を処理するファイル scripts.js で ajax を無効にしました。

リンクのコードは次のとおりです。

    <div id = "menu">
      <ul id = "home_page_links">
        <li><%= link_to "Home",about_us_path %></li>
        <li><%= link_to "About Us",about_us_path  %></li>
      </ul>
    </div>

私の routes.rb ファイルには次のものがあります。

QuestionnaireSite::Application.routes.draw do

  get "home", :to => "static_pages#about_us"
  get "about_us", :to => "static_pages#about_us"

「申し訳ありませんが、問題が発生しました」というメッセージは、パブリック フォルダーからのエラー ページです。

私が実行すると:

tail -f /var/www/apps/myapp/current/log/production.log

私は得る:

Started GET "/users/sign_in" for 87.198.119.247 at Thu May 30 10:52:04 +0100 2013
Processing by Devise::SessionsController#new as HTML
  Rendered users/sessions/new.html.erb within layouts/devise (4.4ms)
  Rendered layouts/_fb_init.html.erb (0.1ms)
  Rendered layouts/_signed_out_header.html.erb (0.7ms)
  Rendered layouts/_messages.html.erb (0.1ms)
Completed 200 OK in 10ms (Views: 7.5ms | ActiveRecord: 0.3ms)


Started GET "/about_us" for 87.198.119.247 at Thu May 30 11:02:29 +0100 2013
Processing by StaticPagesController#about_us as HTML
  Rendered static_pages/about_us.html.erb within layouts/application (0.0ms)
Completed 500 Internal Server Error in 4ms

ActionView::Template::Error (ie.css isn't precompiled):
    12:   <%= javascript_include_tag "application" %>
    13:   <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
    14:   <!--[if lt IE 9]>
    15:     <%= stylesheet_link_tag 'ie', :media => 'all' %>
    16:     <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
    17:   <![endif]-->
    18: </head>
  app/views/layouts/application.html.erb:15:in `_app_views_layouts_application_html_erb___1658874457_26880020'

だから私はエラーが発生しています: ie.css はプリコンパイルされていません。

エラー メッセージに従って、12 行目から 18 行目で何か変更する必要がありますか? 私はしました:

rake assets:precompile

私が得たので、これは成功したようです:

/home/app/.rvm/rubies/ree-1.8.7-2012.02/bin/ruby /home/app/.rvm/gems/ree-1.8.7-2012.02@global/bin/rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets

何か不足していますか?

4

2 に答える 2

1

ie.css はlib/assets/stylesheetsorにあると思いvendor/assets/stylesheetsます。
プリコンパイルに含めるには、次のように追加しますconfig/environments/production.rb

config.assets.precompile += %w( ie.css )

あなたが言う、ie.css.scssにあるapp/assets/stylesheets
私はあなたが含まれていると仮定しますapplication.css

 *= require_tree .

その後ie.css.scss、コンパイルされ、縮小され、プロダクションに含まれapplication.css、条件付きの読み込みがなくなります!

あなたの条件付き

14:   <!--[if lt IE 9]>
15:     <%= stylesheet_link_tag 'ie', :media => 'all' %>
16:     <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
17:   <![endif]-->

もう一度ロードしようとします。
を削除してstylesheet_link_tag、条件付きスクリプトのみを保持してみてください。

css を条件付きでロードする必要がある場合は、 に移動してlib/assest/sytlesheet含まれないようにし、上記のようapplication.cssに に追加します。assets.precompile

于 2013-05-30T11:52:47.817 に答える
0

Martin M さんなどのおかげで、問題は解決しました。

基本的に問題の核心はまさにそれでした、私が得ていたエラー:

ActionView::Template::Error (ie.css isn't precompiled):

まず、application.css.scss ファイルに *= require ie がなかったので、入れました。8 つまたは 9 つの scss ファイルがあり、何らかの理由で ie 参照がありませんでした (このプロジェクトを継承しました)。他人から)。

次に、application.html.erb でコードを完全に削除しました。

  <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
  <!--[if lt IE 9]>
    <%#= stylesheet_link_tag 'ie', :media => 'all' %>
    <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
  <![endif]-->

私はそれをすべて保存し、github の master ブランチにプッシュし、そこから production ブランチにプッシュして、次のようにデプロイしました。

cap production deploy:migrations

現在は機能しています(その後、他の問題が発生しましたが、少なくともその部分は機能しています!)

于 2013-05-30T22:39:51.780 に答える