关于assets pipeline不能工作的问题

2012-07-19 23:25:26 +08:00
 ybian
我有一个本地的rails项目,在旧MBP上工作良好。刚刚把整个项目目录复制到新MBP上,bundle install后,启动,访问都正常。唯一的问题在于,新机器上默认的javascipt文件不能被正确加载,包括系统的jquery.js和自己写的js. 在旧机器上,head里面所有javascript都被加载了:

<script src="/assets/jquery.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery-ui-1.8.21.custom.min.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery-ui-timepicker-addon.js?body=1" type="text/javascript"></script>
<script src="/assets/pais.js?body=1" type="text/javascript"></script>
<script src="/assets/application.js?body=1" type="text/javascript"></script>

而在新机器下,这段代码都没有,只有一行:
<script src="/assets/application.js?body=1" type="text/javascript"></script>

Rails 3.2, 用了asset pipeline,所有自己的javascript都放在app/assets.

app/views/layout/application.html.erb:

<!DOCTYPE html>
<html>
<head>
<title>Qiangpai</title>
<%= stylesheet_link_tag "application", :media => "all" %>
<%= javascript_include_tag "application" %>
<%= csrf_meta_tags %>
</head>
<body>

<%= yield %>

</body>
</html>

新旧机器代码完全一样。研究了半天,没找到原因。有了解的么?
3375 次点击
所在节点    Ruby on Rails
4 条回复
6711411
2012-07-20 12:07:49 +08:00
错误码和配置文件能看看么?
ybian
2012-07-20 13:10:18 +08:00
没有错误,就是返回页面上没有include任何javascript。我用rails new新建了一个app,一样的情况。访问/assets/application.js返回的是没有被处理的文件,“//=require_tree .”这些内容都还在里面。而在我另外一台好的机器上,/assets/application.js返回所有js合在一起的结果。
X_Del
2012-07-20 19:59:38 +08:00
rake assets:precompile 了么。
ybian
2012-07-20 21:03:05 +08:00
@X_Del 做过了啊,话说development环境下这步是必须么?我另外一台机器上没做这个也能正常工作啊。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/42887

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX