2016-09-19 7 views
0

私はrails 4.2を使用していて、Windows 7 64ビットの私のレールアプリを開発しています。 すべてが開発モードで正常に動作しますが、生産モードで私のアプリケーションを実行しようとしたら、私のアプリケーションレイアウトは、CSSとjavascriptがすべて壊れました。 それは資産パイプラインと関係があると信じていますが、私はかなり理解していません。親切にも私に助けてください。ここRailsアセット、CSS、javascriptはすべてプロダクションモードで壊れていますか?

が私の資産構造が

vendor/assets 
- public_assets 
    - font 
    - img 
    - bg 
    - favicon 
    - images 
     - proteam 
    - png 
     - ualanding 
    - portofolio 
     - thumbnail 
     - fullsize 
    - css 
    - js 
    - sass 
    - vendor 
     - bootstrap 
     - css 
     - fonts 
     - js 
     - font-awesome 
     - css 
     - fonts 
     - less 
     - scss 
     - jquery 
     - magnific-popup 
     - ninja-slider 
     - scroolreveal 
    - vid 
- Static_Dev 
    - assets 
     - img 
     - flags 
     - avatars 
    - css 
    - js 
      - libs 
      - views 
    - fonts 

の下で、私はこれらのファイルに私の資産を呼ば:

admin.css 
admin.js 
public.css 
public.js 

私もassets.rbにこれを追加しました:

Rails.application.config.assets.precompile += %w(public.css) 
Rails.application.config.assets.precompile += %w(admin.css) 
Rails.application.config.assets.precompile += %w(admin.js) 
Rails.application.config.assets.precompile += %w(public.js) 

これをapplication.rbに変更

config.assets.paths += Dir["#{Rails.root}/vendor/public-assets/*"].sort_by { |dir| -dir.size } 
config.assets.paths += Dir["#{Rails.root}/vendor/Static_Dev/*"].sort_by { |dir| -dir.size } 

ここでは私のブラウザのエラーログです:

http://localhost:3000/stylesheets/public.css Failed to load resource: the server responded with a status of 404 (Not Found) 
http://localhost:3000/javascripts/public.js Failed to load resource: the server responded with a status of 404 (Not Found) 
http://localhost:3000/assets/img/logo.png Failed to load resource: the server responded with a status of 404 (Not Found) 
http://localhost:3000/assets/img/png/UA-Landing/Img-UALanding1.png Failed to load resource: the server responded with a status of 404 (Not Found) 
http://localhost:3000/assets/img/png/UA-Landing/Img-UALanding2.png Failed to load resource: the server responded with a status of 404 (Not Found) 
http://localhost:3000/assets/img/png/UA-Landing/Img-UALanding3.png Failed to load resource: the server responded with a status of 404 (Not Found) 
http://localhost:3000/assets/vid/URBAN%20video.mp4 Failed to load resource: the server responded with a status of 404 (Not Found) 
(index):372 Uncaught ReferenceError: $ is not defined(anonymous function) @ (index):372 
base.js:6943 GET http://localhost:3000/uploads/house/thumbnail/8/Pensive_Parakeet.jpg 404 (Not Found)h.Ja @ base.js:6943g5 @ base.js:4017mma @ base.js:4007b9 @ base.js:4335psa @ base.js:4349W8 @ base.js:4330W8.create @ base.js:7301(anonymous function) @ www-embed-player.js:507g.De @ www-embed-player.js:507oi @ www-embed-player.js:505g.Zb @ www-embed-player.js:498(anonymous function) @ www-embed-player.js:540 
base.js:6943 GET http://localhost:3000/uploads/house/thumbnail/1/Penguins.jpg 404 (Not Found)h.Ja @ base.js:6943g5 @ base.js:4017mma @ base.js:4007b9 @ base.js:4335psa @ base.js:4349W8 @ base.js:4330W8.create @ base.js:7301(anonymous function) @ www-embed-player.js:507g.De @ www-embed-player.js:507oi @ www-embed-player.js:505g.Zb @ www-embed-player.js:498(anonymous function) @ www-embed-player.js:540 
base.js:6943 GET http://localhost:3000/uploads/apt/thumbnail/144/Pensive_Parakeet.jpg 404 (Not Found)h.Ja @ base.js:6943g5 @ base.js:4017mma @ base.js:4007b9 @ base.js:4335psa @ base.js:4349W8 @ base.js:4330W8.create @ base.js:7301(anonymous function) @ www-embed-player.js:507g.De @ www-embed-player.js:507oi @ www-embed-player.js:505g.Zb @ www-embed-player.js:498(anonymous function) @ www-embed-player.js:540 

私は、このコマンドを実行します。

このような

rake assets:precompile RAILS_ENV=production

と結果のエラー:

C:\Users\lenovo\Documents\urbanace\urbanacecode>rake assets:precompile RAILS_ENV 
=production 
I, [2016-09-19T16:18:29.470690 #13608] INFO -- : Writing C:/Users/lenovo/Docume 
nts/urbanace/urbanacecode/public/assets/public-78c00ecc416b598bae03765242c333f88 
e2db37a2d83217a99d53e02d1e5d9de.css 
I, [2016-09-19T16:18:29.525693 #13608] INFO -- : Writing C:/Users/lenovo/Docume 
nts/urbanace/urbanacecode/public/assets/public-78c00ecc416b598bae03765242c333f88 
e2db37a2d83217a99d53e02d1e5d9de.css.gz 
I, [2016-09-19T16:18:38.402201 #13608] INFO -- : Writing C:/Users/lenovo/Docume 
nts/urbanace/urbanacecode/public/assets/admin-529cbf47908b1b0636fcd9023a0f6acf3c 
1bd78078f3feca7863f077f17ddf2b.css 
I, [2016-09-19T16:18:38.402201 #13608] INFO -- : Writing C:/Users/lenovo/Docume 
nts/urbanace/urbanacecode/public/assets/admin-529cbf47908b1b0636fcd9023a0f6acf3c 
1bd78078f3feca7863f077f17ddf2b.css.gz 
rake aborted! 
ExecJS::RuntimeError: undefined: SyntaxError: Unexpected token: eof (undefined) 

私はここで逃したものをアドバイスをしてください?

+0

正確には動作しません。 –

+0

レイアウト、CSSとjavascriptがすべて見つかりません。必要な場合は、ブラウザのエラーログで質問を更新しました。 – NomNomNom

+0

プロダクションモードでサーバーを起動する前に資産をプリコンパイルしましたか? – Teoulas

答えて

0

は、設定/環境/ production.rbを開き、以下のオプションがtrueに設定されていることを確認します

# Don't fallback to assets pipeline if a precompiled asset is missed 
config.assets.compile = true 

次に実行します。

rake assets:precompile --trace RAILS_ENV=production 

・ホープ、このことができます!

+0

アセットがコンパイルされましたが、アプリにアクセスしようとすると「申し訳ありませんが何かが間違っています」 アプリケーションの所有者は、ログで詳細を確認してください。また、エラーログをチェックしたところ、この行でエラーが発生しました:ActionView :: Template :: Error(未定義:SyntaxError:予期しないトークン:eof(未定義)): – NomNomNom

+0

あなたのホストは何ですか?あなたが 'heroku run rake db:create'と' heroku run rake db:migrate'を実行したのですか? –

+0

@Johan遅く応答して申し訳ありません、私のホストはWindows 7 64ビットです。私は自分のコンピュータのプロダクションモードで実行しようとしています、成功すれば、後で私は私のアプリをアップロードし、centos 6で動作します。 – NomNomNom

関連する問題