在Rails .js.erb文件全部资产网址(Full Asset URL in a Rails .

2019-07-29 00:33发布

我有一个可以在任何网站上加载的书签。

它的工作原理是这样;

  • 负载http://my.example.com/assets/bookmarklet.js
  • 包括http://my.example.com/assets/bookmarklet.css

CSS文件被添加到通过DOM bookmarklet.js ,所以它需要知道在哪里,这是。

我的代码如下:

// assets/javascripts/bookmarklet.js.erb

var config = {
  stylesheetUrl: '<%= asset_path("bookmarklet.css", :only_path => false) %>'
}

但无论怎样我尝试这种呈现为

var config = {
  stylesheetUrl: '/assets/bookmarklet.css'
}

我需要的asset_path返回一个完整的URL。 但asset_url不存在,我无法找到一个选项来asset_path将预先考虑当前域。

任何解决方案?

Answer 1:

你需要为每个环境的明确资产主机。 例如:

# development.rb
config.action_controller.asset_host = "http://localhost:3000"


文章来源: Full Asset URL in a Rails .js.erb file