我有一个生产中的rails应用程序,几乎所有东西都运行良好。我有两个资产管道问题。首先,我在文本区域使用jQuery TE进行富文本编辑。它工作正常,但工具栏图像不在生产中渲染。在生产日志中,我得到以下信息:
FATAL -- :
ActionController::RoutingError (No route matches [GET] "/assets/jquery-te.png"):
actionpack (4.1.9) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
在Chrome控制台中我得到: 正在使用指纹编译资产:
jquery-te-d2ff8c0598f255d23777a4e8cfa907d0.png
所以,它肯定存在,但无论我做什么,它似乎都没有指纹就能调用图像。
在jquery-te-1.4.0.css.scss中将资产称为背景图像。我已经尝试了我在SO上找到的每个模式。现在,我正在努力:
.jqte_tool_icon {
display:block;
width:22px;
height:22px;
background: image-url("jquery-te.png");
background-repeat: no-repeat;
}
我也尝试过使用background-image
,asset-path
以及几乎所有我能想到的方法,但没有运气。
我的第二个问题可能与此有关。当使用gem' font-awesome-rails'它在本地工作正常,但在生产中我得到图标应该是的框。生产日志显示:
ActionController::RoutingError (No route matches [GET] "/assets/fontawesome-webfont.woff"):
查看public / assets文件夹时,此字体存在,但添加了指纹。我查看了github上的gem README的底部,并遵循了关于需要相对路径的apache的建议:
config.action_controller.relative_url_root = "/myrailsapp"
进行此更改并没有帮助。就像jquery-te一样,它在没有指纹的情况下调用资产,因此找不到它。
其他信息: Rails - 4.1.9 Ruby - 2.1.2 jQuery-te - 1.4.0 font-awesome-rails 4.3.0.0
使用apache和passenger在CentOS 6.5的AWS服务器上运行。
感谢您提供任何帮助。