2017-11-13 8 views
3

私はWelcomeというビューを持っています。私はこれを手動で作成しました。そして私はこのビューのためにcss/jsファイルを必要としないので、それらを作成してassetsフォルダに置いてはいけません。しかし、私は、私はこのエラーを得た:ActionController :: RoutingErrorを取得せずにRailsで未使用のcssを削除するには?

Started GET "/javascripts/welcome.js" for ::1 at 2017-11-13 14:55:39 +0000 

ActionController::RoutingError (No route matches [GET] "/javascripts/welcome.js"): 

actionpack (5.0.0.rc2) lib/action_dispatch/middleware/debug_exceptions.rb:53:in `call' 
web-console (2.3.0) lib/web_console/middleware.rb:28:in `block in call' 
web-console (2.3.0) lib/web_console/middleware.rb:18:in `catch' 
web-console (2.3.0) lib/web_console/middleware.rb:18:in `call' 

そして、このエラー:

ActionController::RoutingError (No route matches [GET] "/stylesheets/welcome.css"): 
    Rendering /Users/ryzal/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-5.0.0.rc2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout 

actionpack (5.0.0.rc2) lib/action_dispatch/middleware/debug_exceptions.rb:53:in `call' 
web-console (2.3.0) lib/web_console/middleware.rb:28:in `block in call' 
web-console (2.3.0) lib/web_console/middleware.rb:18:in `catch' 
web-console (2.3.0) lib/web_console/middleware.rb:18:in `call' 

私は単にwelcome.jsとwelcome.cssファイルを作成することによって、これらのエラーが離れて行くよう、それらを置くことができ資産。しかし、もう一度、私は私が望んでいないと知っているので、私はこれらのファイルを使用することを望んでいないことをしたいと思います。

どうすればこの問題を解決できますか?

FYI、私のRailsアプリは失敗しませんでした。それはすべて正常に動作しています。私が得たエラーは私の端末に表示されました。以下を参照してください:

enter image description here

そして、ここでは私のconfig/initializer/assets.rb

Rails.application.config.assets.version = '1.0' 
+0

'welcome.css'と' welcome.js'が 'config/initializers/assets.rb'に存在しないことを確認してください。 Railsが本当に気にしているのは、単に 'application.css'なので、あなたのアプリは失敗しないはずです。 – Vlad

+0

@Vlad私のconfig/initializers/assets.rbにはwelcome.cssとwelcome.jsはありません。そして、私のRailsアプリはブラウザで正常に動作しています。私が得たエラーは私の端末に現れたものです。上記の最新の記事を参照してください。 –

+1

'assets/javascripts/application'と' assets/stylesheets/application'を貼り付けてください。 – AntonTkachov

答えて

4

あなたのコントローラでは、それらのレイアウトにしたいページへのレイアウトの割り当てが必要なファイルを必要と

<%= stylesheet_link_tag params[:controller] %> 
<%= javascript_include_tag params[:controller] %> 

これはあなたを強制的に現在のコントローラ名を持つコントローラの資産をロードするアプリケーション(歓迎用)これを削除すると、エラーが消えるはずです。このコードは他のコントローラには便利で、スタイルやJavaScriptの一部を失う可能性があることに注意してください。あなたの資産のapplication.js/.cssファイルにそれらをすべて含めてください。このような動的な方法で資産を別々に読み込む必要はありません。

-2

で唯一のものであり整然と方法は、おそらくですが、私はレイアウトを使用します。あなたのレイアウトで

http://brandonhilkert.com/blog/page-specific-javascript-in-rails/

+0

申し訳ありませんが、これは私の質問に答えているとは思わない?私が探しているのは、私がエラーを出さずに資産のビューのCSS&jsファイルを含めない方法です –

関連する問題