The asset “application.js” is not present in the a

2020-07-10 09:19发布

问题:

I'm new in Ruby and in ROR framework. I try to create web app with JQuery. My steps are:

  1. Added gem 'jquery-rails' and executed bundle install command from command line
  2. String //= require jquery2 added into application.js file
  3. Now I try include file into page. And I added in section string <%= javascript_include_tag "application" %> into application.html.erb file

when I try to see page in browser I see error with message:

Sprockets::Rails::Helper::AssetNotFound in LandingPage#index
The asset "application.js" is not present in the asset pipeline.
<%= javascript_include_tag "application" %>

What I doing wrong? I googled about this error, but I didn't found anything good explained.

回答1:

first of all try to restart your server, generally there is no need to include application.js file in assets. if it doesn't work then

add below in your config / initializer / assets.rb file:

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

Note: after adding in your assets file, don't forget to restart your server. If you do any changes in Inilalizers, you have to restart the server to see the effects.



回答2:

I also ran in this error with Rails 6 (with webpack) using the syntax javascript_include_tag in the application.html.erb file.

With rails 6 and webpack use:

<%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>