rails,fancybox 在 heroku 生产中不起作用
Posted
技术标签:
【中文标题】rails,fancybox 在 heroku 生产中不起作用【英文标题】:rails, fancybox not working in heroku production 【发布时间】:2015-01-23 00:22:53 【问题描述】:我在我的开发环境中完美地运行了 fancybox,但是当我推送到 Heroku 生产时,它不起作用。我试过查看这里的所有帮助(预编译资产等),尝试了一切,但似乎无法让它工作!希望有人可以在这里帮助我...
这是我的 application.html.erb:
<html>
<head>
<%= analytics_init if Rails.env.production? %>
<%= favicon_link_tag "/favicon.ico" %>
<link href='http://fonts.googleapis.com/css?family=Source+Code+Pro:200,300,400,500,600,700,900' rel='stylesheet' type='text/css'>
<!-- Add jQuery library -->
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
<%= csrf_meta_tags %>
<!-- WORLD MAP -->
<link href="/assets/jqvmap.css" media="screen" rel="stylesheet" type="text/css" />
<script src="/assets/jquery.vmap.js" type="text/javascript"></script>
<script src="/assets/jquery.vmap.world.js" type="text/javascript"></script>
<!-- Add fancyBox -->
<link rel="stylesheet" href="/fancybox/source/jquery.fancybox.css?v=2.1.5" type="text/css" media="screen" />
<script type="text/javascript" src="/fancybox/source/jquery.fancybox.pack.js?v=2.1.5"></script>
</head>
<body>
<%= render "layouts/header" unless @disable_header %>
<%=yield %>
</body>
</html>
我的 application.js:
//= require rails_autocomplete
//= require jquery
//= require jquery_ujs
//= require jquery.fancybox
//= require jquery.turbolinks
//= require turbolinks
//= require bxslider
//= require fancybox
//= require_tree .
var fancybox = function()
$('.fancybox').fancybox(
parent: "body",
helpers:
overlay:
locked: false
);
;
$(document).on("page:load ready", fancybox);
如果有人看到我没有看到的东西,那就太好了 - 或者至少为我指明了如何在 Heroku Production 中调试它的方向。提前致谢!
【问题讨论】:
您好,如果您可以分享您的 application.js 文件,那么最好回答您的问题。 没问题 - 已编辑原始帖子。同样,我让它在开发中运行良好,但 Heroku Production 无法正常工作。当我点击 Fancybox 链接时,它只是转到另一个页面,并显示图片。 这似乎是因为如果您将在生产模式下启动应用程序,您的应用程序将在网页上两次获得一些 js,因为您在 application.html 中定义了两次,另一次是 application.js让所有东西都独一无二,检查它们。 嗯,我应该删除哪些代码? 删除您在 application.html 中加载的所有 javascript 和 css ? 【参考方案1】:玩了一会儿之后,看来我不得不将 application.js 文件中的整个脚本移动到视图中。不知道为什么会这样 - 但如果有人知道为什么这会影响生产,请让大家知道!谢谢!
【讨论】:
以上是关于rails,fancybox 在 heroku 生产中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
Heroku / Rails:PG :: Undefined Table:错误“[tablename]”在heroku rails迁移上不存在