【发布时间】:2016-02-18 08:37:30
【问题描述】:
我有一个部分使用 WYSIHTML 的 Rails 应用程序。它是这样控制的:
// richtext
if($('.richtext').length) {
var editor = new wysihtml5.Editor(document.querySelector('.richtext'), {
toolbar: 'wysihtml5-toolbar',
parserRules: wysihtml5ParserRules,
stylesheets: '/assets/wysihtml5-stylesheet.css'
});
}
这在本地工作正常,但无法在远程找到 wysihtml5-stylesheet.css。我试过弄乱资产管道/预编译但没有运气。有什么想法吗?它似乎是最近发生的,即它以前工作过。除了我刚才提到的设置之外,没有任何设置被更改。
请帮忙。
更新
即使使用asset_path 也找不到该文件:
stylesheets: '<%= asset_path "wysihtml5-stylesheet.css" %>'
【问题讨论】:
-
在生产中,资产被编译并在文件名的末尾给出一个哈希值,这很可能是你看不到它的原因。查看api.rubyonrails.org/classes/ActionView/Helpers/… 的asset_path 方法
-
同样的问题,只是最后的MD5哈希,即找不到
http://domain.com/assets/wysihtml5-stylesheet-9d0d93a7a284f16a3dea08a722430b272064c192b7c57a41329d7f86a8adb7da.css -
嗯,您实际上不能直接设置 md5 哈希。您必须使用 rails 帮助程序来生成文件的链接或将文件直接添加到 public 文件夹下。
-
嗯,这很可能与您的资产在生产中的服务方式有关。搜索 Rails 4 的
serve_static_files选项并修改它。 -
我投票决定将此问题作为离题结束,因为该问题是特定于环境的,与 Rails 无关。
标签: jquery css ruby-on-rails ruby-on-rails-4 asset-pipeline