我的资产/ javascript中有以下js
jQuery ->
if $('.pagination').length
$(window).scroll ->
url = $('.pagination .next_page').attr('href')
if url && $(window).scrollTop() > $(document).height() - $(window).height() - 50
$('.pagination').html('<img src="images/spinner.gif" />')
$.getScript(url)
$(window).scroll()
这里我正在调用一个微调器动画,但是没有在localhost上获取。
No route matches [GET] "/images/spinner.gif"
我已经跑了
rake assets:precompile:all RAILS_ENV=development
我的图像被正确放置在资源/图像中(并在公共场合)所以这让我觉得我调用这个图像的方式一定是错的。
答案 0 :(得分:1)
首先阅读rails asset pipeline
并阅读developement和production提供资产的方式之间的区别,这有助于您了解资产的投放方式
如果您将一个erb扩展名添加到JavaScript资源,使其成为application.js.erb之类的东西,那么您可以在JavaScript代码中使用asset_path助手:
jQuery ->
if $('.pagination').length
$(window).scroll ->
url = $('.pagination .next_page').attr('href')
if url && $(window).scrollTop() > $(document).height() - $(window).height() - 50
$('.pagination').html('<%= asset_path('logo.png') %>')
$.getScript(url)
$(window).scroll()