私はかなり紛失していますので、この問題の有用な情報は何かを完全にはわかりませんが、静的資産を提供しようとしています私自身と第三者のJS、HTML、CSSを含むレールの角型アプリのためのものです。 assets
の下にthird_party
と呼ばれるディレクトリを作成しました。そこにはすべて私のインストールされたコンポーネントがあり、自分のクライアントコードにはmy_app
というディレクトリがあります。rails 5.0で静的資産を提供できません。 "スーパー:#<Logger:0x00000004bd78c0>のメソッドは無音です"
私はapp/assets/javascript
でmain_app.js
ファイルに必要なコードが必要です。
//= require jquery
//= require jquery_ujs
//= require angular/angular
<snipped>
//= require_tree ../my_app/common
//= require main/index/index
//= require_tree ../my_app/main
私はこれらの行と私のapplication.rb
ファイル内のアセットパスにこれらのディレクトリを追加しました: config.assets.paths << Rails.root.join('app', 'assets', 'third_party') config.assets.paths << Rails.root.join('app', 'assets', 'main_app')
そしてそれらを追加プリコンパイルのステップassets.rb
: Rails.application.config.assets.precompile += %w(main_app.js)
最後に私はhav電子資産は次のようになりますカスタムassets_controller
を経由して提供されている:
class AssetsController < ApplicationController
skip_before_filter :verify_authenticity_token
def serve_main_asset
serve_asset_for_app("main")
end
protected
def serve_asset_for_app(app_name)
path = params[:path]
respond_to do |format|
format.html { render :file => "app/assets/my_app/#{app_name}/#{path}.html", layout:
false }
format.js { render :file => "#{path}.js" }
format.css { render(:file => "#{path}.css") }
format.json { render(:file => "app/assets/my_app/#{app_name}/#{path}.json") }
end
end
end
をしかし、私はこれらのファイルのGET
いずれかにしようとするたびに、私はこのエラー/スタックトレースを見ています:オン
2016-08-04 01:23:16 -0500: Rack app error handling request { GET /assets/main/index/index.html }
#<NoMethodError: super: no superclass method `silence' for #<Logger:0x00000004bd78c0>>
/home/pawan/.rvm/gems/ruby-2.2.3/gems/activesupport-5.0.0/lib/active_support/logger.rb:63:in `block (3 levels) in broadcast'
...
を私はすべてのキャッシュ無効化ロジックを開発モードでオフにしているとは思っていましたが、アプリは一意のファイル名で資産を提供しようとしています。 (例:bootstrap.self-c8d853976ca268a5391a9470ebdcf3ba43e0b78936cdc925146afcb60a3116be.js
)
私は問題がちょうど何らかの形の古くなった宝石かもしれないように感じますか? TIA。
これはまさにそのとおりです。私は実際にそれをしばらく前に修正することができましたが、私自身の質問に答えるのを忘れていました...また、コメントを残しておくよりも、その行をアクティブなサポートロガーに置き換えるべきであることを忘れていました。 – RocketGuy3