【问题标题】:How to write this Rails 4.2 js asset path如何编写这个 Rails 4.2 js 资产路径
【发布时间】:2016-02-24 04:46:16
【问题描述】:

我在供应商目录中的 .js 文件中有这个:

arrowpointers:{
    downarrow: ["img/arrow-down.png", 11,7], //[path_to_down_arrow, arrowwidth, arrowheight]
    rightarrow: ["img/arrow-right.png", 12,12], //[path_to_right_arrow, arrowwidth, arrowheight]
    showarrow: {toplevel: true, sublevel: true} //Show arrow images on top level items and sub level items, respectively?
   },

我无法显示 arrow-down.pngarrow-right.png。我已经尝试了资产和图像路径、url 等的每种组合。所有图像都在app/assets/images 文件夹中。其他所有图像都可以正常工作,但我无法确定。有什么想法吗?

【问题讨论】:

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


    【解决方案1】:

    把文件扩展名改成js.erb,这样我们就可以在里面嵌入ruby代码了。 在app/assets/images 文件夹中添加图像。 然后在application.rb中加入这一行来启用资产,

    class Application < Rails::Application
     #add this line
     config.assets.precompile += %w( *.js *.css *.png *.jpg *.jpeg )
    end
    

    最后在您的 js.erb 文件中进行此更改,

    arrowpointers:{
        downarrow: ['<%= asset_path("arrow-down.png") %>', 11,7], //[path_to_down_arrow, arrowwidth, arrowheight]
        rightarrow: ['<%= asset_path("arrow-right.png") %>', 12,12], //[path_to_right_arrow, arrowwidth, arrowheight]
        showarrow: {toplevel: true, sublevel: true} //Show arrow images on top level items and sub level items, respectively?
       },
    

    【讨论】:

    • 你说的我都做了。它没有用。那些箭头图像不显示。
    • rails 控制台中显示什么错误信息?你把图片放在app/assets/images文件夹里了吗?
    • 如何在控制台中看到该错误?我没有在控制台中发现错误的经验。
    • 好的,您可以在 Firefox 或 chrome 中打开控制台并检查是否显示任何有关未找到图像的错误消息。要检查 rails 控制台中的错误,请转到运行服务器的终端窗口,检查任何 404 问题,说明未找到 arrow-down.png 图像。另外,现在加载网页时,它会在页面源代码中存在的 js 中显示什么代替 ruby​​ 代码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-24
    • 1970-01-01
    相关资源
    最近更新 更多