如何链接到没有指纹的Rails资产?

use*_*047 5 ruby-on-rails asset-pipeline

在Rails中,我的资产中添加了指纹,例如

mysite.com/assets/something/base-216123123asdfasd20a.css
Run Code Online (Sandbox Code Playgroud)

不幸的是,如果我想从另一个网站(如博客)链接到这个,我不能依赖指纹.

是否有我可以设置的配置设置,以便我可以在不知道指纹的情况下访问文件?(虽然仍然保持指纹正常Rails使用;这只会用于特殊情况)

我不想做一次性的事情,比如为特定资产创建路线,因为我需要很多资产.

Ric*_*eck 2

最简单的方法是将文件直接放入public文件夹中:

- public
-- your_file.js
Run Code Online (Sandbox Code Playgroud)

然后必须通过直接引用您的 URL 来调用 =http://domain.com/your_file.js

这仅适用于您想要保持静态的文件(例如小部件 JS 或类似文件)。


非消化资产

或者,您可能希望尝试一个我以前从未使用过的 gem non-stupid-digest-assets,它可以让您确定哪些文件被“指纹识别”,哪些文件没有。

我从未使用过这个宝石,所以无法评论它的有效性,但看起来它会让你能够在没有指纹名称的情况下保存某些资产。这意味着您仍然可以使用asset path helpersRails 中提供的各种方法来调用它们,并为其他人提供该文件的直接引用:

#config/initializers/non_digest_assets.rb
NonStupidDigestAssets.whitelist = ["your_file.js"]
Run Code Online (Sandbox Code Playgroud)

然后您就可以致电asset_path("your_file.js")