I\'m trying to get the background image to change every 6 seconds and it\'s always a 404 error:
For example, the below appears in the JS console
htt
This solved my problem: Section 2.3.1 of guides.rubyonrails.org/asset_pipeline.html
$('.holder').css("background-image","url(<%= asset_path('tree-rays.jpg') %>)");
Note that tree-rays.jpg
is in app/assets/images (Rails 4 Application).
You can use the .erb
(embedded ruby) extension to allow rails path helpers in your .js
files:
1) You save your original file (my_script.js
) as my_script.js.erb
with the image path helper:
$('.holder').css({"background-image":"<%= asset_path('filenamehere.png') %>"});
Also, make sure you have your asset pipeline set up correctly:
From the Rails Asset Pipeline guide (http://guides.rubyonrails.org/asset_pipeline.html)
2) Your javascript file (my_script.js.erb
) is inside:
app/assets/javascripts/
lib/assets/javascripts/
vendor/assets/javascripts/
vendor/assets/somepackage/
3) Your file is referenced in the manifest (maybe app/assets/javascripts/application.js
):
//= require my_script