我遇到了Rails 3.1资产管道的问题.资产包括两次开发:
<script src="/assets/main_new.js?body=1" type="text/javascript"></script>
<script src="/assets/pagenav.js?body=1" type="text/javascript"></script>
<script src="/assets/tours.controller.js?body=1" type="text/javascript"></script>
<script src="/assets/tours.js?body=1" type="text/javascript"></script>
<script src="/assets/application.js?body=1" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
Rails以某种方式编译并包含application.js,因此所有脚本都包含两次 - 作为单个文件和application.js
生产中的预编译资产一切都很好.
development.rb
config.assets.compress = false
config.assets.debug = true
Run Code Online (Sandbox Code Playgroud)
production.rb
# Disable Rails's static asset server (Apache or nginx will already do this)
config.serve_static_assets = false
# Compress both stylesheets and JavaScripts
config.assets.compress = true
config.assets.js_compressor = :uglifier
config.assets.css_compressor = :scss
config.assets.compile = false
config.assets.digest = true
Run Code Online (Sandbox Code Playgroud)
application.rb中
config.assets.enabled = true
Run Code Online (Sandbox Code Playgroud) 我注意到,当我部署到Heroku时,javascript功能不起作用(例如Bootstrap Popover,Buttons等).我正在使用rails 3.2.2,ruby 1.9.3.这些功能适用于localhost.部署到Heroku时似乎没有显示错误(这些功能根本没有显示).
有任何想法吗?谢谢!
我下载了Twitter的bootstrap的准系统示例并对其进行了定制.我在本地进行了测试(使用WAMP服务器),一切都运行良好,包括CSS和JScript.
我将文件上传到我的虚拟主机服务,JScript无法正常工作.我注意到了,因为下拉框停止工作.
我搜索并发现其他人有同样的问题,但他们都使用红宝石,我不是.只是bootstrap提供的CSS + JScript游戏.除此之外他们说解决方案是先包含bootstrap.js然后再包含jquery.js.好吧,我尝试了它,它没有用,我甚至包括没有缩小的.js,但它仍然无法正常工作.
我使用相同的浏览器(Chrome)进行本地和远程测试.我也尝试过不同的托管服务,两者都出现了问题.
非常感谢帮助.
其他类似的问题:
javascript jquery css-frameworks web-deployment twitter-bootstrap
在我的Rails应用程序中,我有一个下拉菜单的以下代码:
<header class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<nav>
<ul class="nav pull-right">
<li><%= link_to "Home", root_path %></li>
<% if signed_in? %>
<li id="fat-menu" class="dropdown">
<a href="#" class="dropdown-toggle" data toggle="dropdown">
Account <b class="caret"></b>
</a>
<ul class="dropdown-menu">
<li><%= link_to "Settings", edit_user_path(current_user) %></li>
<li class="divider"></li>
<li>
<%= link_to "Sign out", signout_path, method: "delete" %>
</li>
</ul>
</li>
<% else %>
<li><%= link_to "Sign in", signin_path %>
<% end %>
</ul>
</nav>
</div>
</div>
</header>
Run Code Online (Sandbox Code Playgroud)
在我的application.js文件中,我有以下代码:
//= require bootstrap
Run Code Online (Sandbox Code Playgroud)
我不知道为什么下拉菜单不起作用,我不知道如何解决它.几天前,它工作正常,现在它不再正常运行.谢谢你的帮助!