Rails更改config.assets.prefix不会更改Javascript内部URL

时间:2019-02-15 09:46:08

标签: ruby-on-rails

我已将config.assets.prefix = "/endpoint"添加到我的应用程序配置中。它会正确更改所有资产位置。

但是,当我使用rake assets:precompile进行编译时,仍然会通过AJAX请求“ / assets”而不是新的“ / endpoint”。

我想念什么?

有没有办法确保所有内容都是从“ /端点”而不是“ /资产”调用的?

1 个答案:

答案 0 :(得分:0)

因此asset_path无法正常工作。我正在使用Rails 4.。以下是scss文件中。当他们编译时,您会看到从application.js抛出错误。

$assets-action-buttons_svg: url("/endpoint/thing.svg");

不起作用。找不到404。

$(document).ready(function(){
 let scroll_link = $('.scroll');

  //smooth scrolling -----------------------
  scroll_link.click(function(e){
      e.preventDefault();
      let url = $('body').find($(this).attr('href')).offset().top;
      $('html, body').animate({
        scrollTop : url
      },700);
      $(this).parent().addClass('active');
      $(this).parent().siblings().removeClass('active');
      return false;	
   });
});

可以。

通常,Javascript位于/ endpoint,但是在JS文件中有一些AJAX请求被硬编码为/ assets。清除这两个问题即可解决。