访问Rails资产,忽略URL中的范围区域设置

时间:2014-08-12 11:06:28

标签: javascript ruby-on-rails localization asset-pipeline

我通过JS-jQuery设置主页的背景:

$(function(){
  $('.nonsignedin-home').closest('html').css({
    'background-image':"url('assets/my_background.jpg')",
    'background-repeat': "no-repeat",
    'background-size':'cover'
  });
});

在我的应用程序中引入语言环境之前,一切运行良好。由于我决定使用所选的区域设置来确定我的网址范围:

MyApp::Application.routes.draw do
  scope ":locale" do
    #My routes here
  end
end

现在完全可以理解存在路由错误:

ActionController::RoutingError (No route matches [GET] "/es/assets/my_background.jpg"):

因为URL是区域范围的。我的背景图片位于assets/images/my_background.jpg

问题是,在访问资产时,如何绕过我的网址中的es范围?我没兴趣为每个语言环境设置不同的背景。

1 个答案:

答案 0 :(得分:3)

$(function(){
  $('.nonsignedin-home').closest('html').css({
    'background-image':"url('/assets/my_background.jpg')",
    'background-repeat': "no-repeat",
    'background-size':'cover'
  });
});

这有帮助吗?请注意额外的' /'在您的资产路径前。