sen*_*nfo 20 ruby ruby-on-rails asset-pipeline js-routes
我需要在Rails资产管道中的HTML5画布上显示图像,但我需要知道JavaScript中资产的路径.我正在为应用程序的其他部分使用js-routes,但它似乎没有提供一种方法来获取资产管道中的某些东西.
从JavaScript获取Rails资产(例如图像)路径的正确方法是什么?
Bar*_*aun 23
在Rails Asset Pipeline指南中,他们通过使用ERB预处理样式表,提供了样式表中编码资产的示例.您可以使用与JavaScript相同的技术,假设您添加.erb
到文件名的末尾:
var someAssetPath = "<%= asset_path('some_image.png') %>";
Run Code Online (Sandbox Code Playgroud)
查看js_assets(rails项目中的Javascript助手) gem.我认为这正是你所需要的.
从文档:
在javascript中获取模板app/assets/javascripts/rubrics/views/index.html的路径:
var path = asset_path('rubrics/views/index.html')
对于那些使用HAML的人,您可以:
:javascript
var assetPath = "#{asset_path('some_image.jpg')}";
Run Code Online (Sandbox Code Playgroud)
为什么不在.erb文件中的元素内添加数据属性,然后使用JQuery检索它?
在some_template.html.erb中
<%= content_tag(:div, "", id: 'some-id', data:{path_to_asset: asset_path("some_image.png")}) %>
Run Code Online (Sandbox Code Playgroud)
然后在some_javascript.js
var assetPath = $("#some-id").data("pathToAsset");
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
16996 次 |
最近记录: |