ruby-on-rails - Rails:资产不适用于 Heroku
问题描述
资产不适用于 Heroku (js/jQuery/image)
我是 ruby 新手,我有一个小问题,我创建了一个可以在本地完美运行的登录页面(图像正在显示,js 上的动画也可以正常工作)。
但是在 Heroku 上,图像仍然存在,但动画不起作用。
有一些奇怪的东西,即使当我检查控制台时它正在工作,我也有很多错误:
Failed to load resource: the server responded with a status of 404 (Not Found)
font-awesome.min.css:1 Failed to load resource: the server responded with a status of 404 (Not Found)
application-18ac3fd2669832ec776c17e2e795d1fa260c46da2ba1ea9854a54227ada3a7cd.js:6 Uncaught TypeError: Cannot read property 'breakpoints' of undefined
at application-18ac3fd2669832ec776c17e2e795d1fa260c46da2ba1ea9854a54227ada3a7cd.js:6
at application-18ac3fd2669832ec776c17e2e795d1fa260c46da2ba1ea9854a54227ada3a7cd.js:6
jquery.min.js:1 Failed to load resource: the server responded with a status of 404 (Not Found)
pages.scss:1 Failed to load resource: the server responded with a status of 404 (Not Found)
jquery.scrollex.min.js:1 Failed to load resource: the server responded with a status of 404 (Not Found)
banner.jpg:1 Failed to load resource: the server responded with a status of 404 (Not Found)
pic02.jpg:1 Failed to load resource: the server responded with a status of 404 (Not Found)
pic01.jpg:1 Failed to load resource: the server responded with a status of 404 (Not Found)
jquery.scrolly.min.js:1 Failed to load resource: the server responded with a status of 404 (Not Found)
skel.min.js:1 Failed to load resource: the server responded with a status of 404 (Not Found)
util.js:1 Failed to load resource: the server responded with a status of 404 (Not Found)
main.js:1 Failed to load resource: the server responded with a status of 404 (Not Found)
pic03.jpg:1 Failed to load resource: the server responded with a status of 404 (Not Found)
font-awesome.min.css:1 Failed to load resource: the server responded with a status of 404 (Not Found)
pages.scss:1 Failed to load resource: the server responded with a status of 404 (Not Found)
我有一个调用脚本的 index.html.erb 页面:
<!-- Scripts -->
<script src="assets/js/jquery.min.js"></script>
<script src="assets/js/jquery.scrollex.min.js"></script>
<script src="assets/js/jquery.scrolly.min.js"></script>
<script src="assets/js/skel.min.js"></script>
<script src="assets/js/util.js"></script>
<!--[if lte IE 8]><script src="assets/js/ie/respond.min.js"></script><![endif]-->
<script src="assets/js/main.js"></script>
我的脚本在一个文件夹中app/assets/javascripts/js
。
非常感谢!
解决方案
像这样使用它是不对的:
<script src="assets/js/jquery.min.js"></script>
<script src="assets/js/jquery.scrollex.min.js"></script>
<script src="assets/js/jquery.scrolly.min.js"></script>
<script src="assets/js/skel.min.js"></script>
<script src="assets/js/util.js"></script>
<!--[if lte IE 8]><script src="assets/js/ie/respond.min.js"></script><![endif]-->
<script src="assets/js/main.js"></script>
看看这个:The Asset Pipeline
。
您应该将所有 js 文件放入app/assets/javascripts
without jquery.min.js
,因为此库默认包含 rails。
我相信javascripts/application.js
应该是这样的(默认情况下):
//= require jquery
//= require jquery_ujs
//... example
//= require_tree .
这//= require_tree .
会自动映射javascripts
所有 js 文件的文件夹。
//= require rails-ujs
像上面那样编辑后删除这一行。
app/views/layouts/application.html.erb
应该是这样的:
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
更新
你应该像这样pages.scss
放入assets/stylesheets/
并在里面创建一个文件assets/stylesheets/
custom.scss
custom.scss
@import "pages";
推荐阅读
- unity3d - 使用 GridLayoutGroup 时有没有办法从另一边出来?
- javascript - For循环在Django中的Javascript动态Html内容中
- php - 将查询结果转为超链接
- html - 动画 CSS 适用于除 safari 以外的所有浏览器
- linux - su 日志文件位置
- django - 如何使用 Django REST 框架呈现模板?
- hyperledger-fabric - 有人可以很好地类比如何理解超级账本结构及其所有组件吗?
- c# - 在 TopShelf 服务(.Net 框架)中使用 Autofac 将连接字符串注入 DbContext 类
- amazon-web-services - 如何使用我自己解压和编辑的 AWS Lambda 函数?
- web-services - 连接多个具有相同对象类型的 Web 服务