2

本番環境へのデプロイ中に次のエラーが発生します。誰でも解決策を手伝ってもらえますか? ありがとう。

ActionView::Template::Error (undefined method `include_stylesheets' for #<#<Class:0x00000003d8e0e8>:0x00000002d0f730>):
    2: %html
    3:   %head
    4:     %title= Settings.app_name
    5:     = include_stylesheets :canvas, :media => 'all'
    6:     = include_javascripts :canvas
    7:     = javascript_include_tag 'home/custom.js.coffee'
    8:     = csrf_meta_tags
  app/views/layouts/home.html.haml:5:in `_app_views_layouts_home_html_haml___3948606540755903120_32481960'
  app/controllers/website/home_controller.rb:11:in `home'
4

2 に答える 2

1

しばらく前に同じ問題に遭遇しました

エラーActionView::Template::Error (undefined method 'include_stylesheets' for #<#<Class:0x00000003d14ae9>:0x00000002e02770>):

これは、jammit gem が正しくロードされていないことを意味します。このチェックを行うには、Web アプリケーションに従ってください

1. gem ファイルに gem が含まれています

    gem "jammit"

2. gem がenvironment.rbファイルにロードされます (あなたの場合はそうなるproduction.rbと思います) 環境ファイルで次のコードを見つけます

config.before_initialize do
end

ブロックの do -- end のconfig.gem "jammit"書き込みます。

3. @Dimitri Jorgeが言ったように、jammit b/wを実行してソースを更新し、新しいリリースにシンボリックリンクする必要があります。したがって、カピストラーノを使用している場合は、jammit が必要ですdeploy.rb

require 'jammit'

その後

  task :generate_assets, :roles => :web do
    run "cd #{your_path_to_deploy_directory}/current && bundle exec jammit"
  end
  after "deploy", "deploy:generate_assets"

これで問題が解決することを願っています。ガッチャ;)

于 2014-07-03T15:07:43.270 に答える
0

Jammitのドキュメントから:

本番環境では、ソースの更新と新しいリリースへのシンボリック リンクの間のどこかで、デプロイ中に Jammit を実行する必要があります。Capistrano、Vlad、または単なる Rake を使用しているかどうかに関係なく、jammit コマンドを呼び出すステップを追加するのはそれほど難しくありません。

jammitコマンドを実行しましたか?

于 2014-07-03T13:13:23.543 に答える