Jquery在生产和Heroku中不起作用,但在开发中运行良好
Jquery not working in Production & Heroku but works perfectly well in development
您的建议将不胜感激。
Heroku 和我的生产环境没有选择我的 jQuery 编码(Javascript文件) - 我从字面上尝试了所有代码,建议和命令 仍然没有成功。我已经在下面粘贴了我的文件 - 如果可以的话 指出我做错了什么需要纠正会 非常感谢。
-
视图/布局/应用程序.html.erb
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title><%= full_title(yield(:title)) %></title>
<%= stylesheet_link_tag "application" %>
<%= javascript_include_tag "vendor/modernizr" %>
<%= csrf_meta_tags %>
<%= favicon_link_tag 'img-logo-five.png' %>
<%= favicon_link_tag 'apple-touch-icon-#{196}x#{196}.png', rel: 'apple-touch-icon', type:'image/png' %>
</head>
<body data-no-turbolink="true">
<div class="medium-12 columns container">
<% if notice %>
<div id="notice_wrapper">
<p id="notice"><%= notice %></p>
</div>
<% elsif alert %>
<div id="alert_wrapper">
<p id="alert"><%= alert %></p>
</div>
<% end %>
<%= yield %>
</div>
<%= javascript_include_tag "application" %>
</body>
</html>
宝石文件
source 'https://rubygems.org'
gem 'rails', '4.1.10'
gem 'bcrypt', '3.1.7'
gem 'sass-rails', '~> 4.0.3'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'
gem 'sdoc', '~> 0.4.0', group: :doc
gem 'foundation-rails', '5.3.1.0'
gem 'simple_form'
gem "font-awesome-rails"
gem 'devise'
gem "ransack", github: "activerecord-hackery/ransack", branch: "rails-4.1"
gem "polyamorous", :github => "activerecord-hackery/polyamorous"
gem 'carrierwave'
gem 'rmagick'
gem 'acts_as_commentable'
gem "cocoon"
gem 'geocoder'
gem 'social-share-button'
gem 'twilio-ruby'
gem 'cancancan', '~> 1.10'
gem 'public_activity'
gem 'foundation-datetimepicker-rails'
gem 'jquery-ui-rails'
group :development, :test do
gem 'sqlite3', '1.3.9'
gem 'byebug', '3.4.0'
gem 'web-console', '2.0.0.beta3'
gem 'spring', '1.1.3'
gem 'quiet_assets'
gem 'mailcatcher'
gem "better_errors"
gem 'awesome_print'
gem 'pry'
gem 'binding_of_caller'
end
group :test do
gem 'minitest-reporters', '1.0.5'
gem 'mini_backtrace', '0.1.3'
gem 'guard-minitest', '2.3.1'
end
group :production do
gem 'pg', '0.17.1'
gem 'rails_12factor'
gem 'unicorn', '4.8.3'
end
config/environment/production.rb
Rails.application.configure do
config.cache_classes = true
config.eager_load = true
config.consider_all_requests_local = false
config.action_controller.perform_caching = true
config.serve_static_files = true
config.assets.compress = true
config.assets.js_compressor = :uglifier
config.assets.compile = true
config.assets.precompile = ['*.js', '*.css', '*.css.erb']
config.assets.digest = true
config.log_level = :info
config.i18n.fallbacks = true
config.active_support.deprecation = :notify
config.log_formatter = ::Logger::Formatter.new
config.active_record.dump_schema_after_migration = false
config.action_mailer.default_url_options = { host: 'website.herokuapp.com' }
Rails.application.routes.default_url_options[:host] = 'website.herokuapp.com'
end
config/locales/application.rb
require File.expand_path('../boot', __FILE__)
require 'rails/all'
Bundler.require(*Rails.groups)
module RecruitmentAfricaApp
class Application < Rails::Application
config.assets.precompile += %w(*.js)
config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
config.autoload_paths += Dir[Rails.root.join('app', 'models', '{**}')]
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
address: "smtp.mandrillapp.com", #if using a another domain this will be provided by the domain company
port: 111,
enable_starttls_auto: true,
user_name: "email@gmail.com", #this would need to be for example info@recruitmentafrica.com
password: "#####",
authentication: :login,
domain: "gmail.com",
}
end
end
assets/javascripts/application.js
//= require jquery
//= require jquery_ujs
//= require foundation
//= require turbolinks
//= require jquery-ui
//= require cocoon
//= require social-share-button
//= require foundation-datetimepicker
//= require_tree .
/*=========================================
general js content
=========================================*/
$(function(){ $(document).foundation(); });
// sigin-in alert message | devise signin/signout error messages
$(document).ready(function(){
setTimeout(function(){
$('#notice_wrapper').fadeOut("slow", function() {
$(this).remove();
})
}, 2500);
});
// sigin-out alert message | devise signin/signout error messages
$(document).ready(function(){
setTimeout(function(){
$('#alert_wrapper').fadeOut("slow", function() {
$(this).remove();
})
}, 2500);
});
// jquery-ui datepicker
$(document).ready(function() {
$('.datepicker').datepicker({ dateFormat: 'MM dd, yy' });
// $('.datepicker').datepicker({ dateFormat: 'D, dd M yy' });
});
资产/样式表/应用程序.css
/*
* This is a manifest file that'll be compiled into application.css, which will include all the files
*= require_tree .
*= require_self
*= require foundation_and_overrides
*= require foundation
*= require social-share-button
*= require jquery-ui
*= require font-awesome
*/
我已经尝试过命令和代码,但仍然没有成功
- [1.]
i have re-arranged my js files in application.js
- [2.] 我已经在生产中设置了.rb:
config.assets.compile = true
- [3.] 我已经运行了命令:
rake assets:precompile
然后git push heroku master
- [4.] 我运行了命令:
RAILS_ENV=production bundle exec rake assets:precompile
- [5.] 我运行了命令:
heroku run rake assets:precompile --app appName
- [6.] 我的 JavaScript 没有在线返回
404 HTTP error
- [7.] 我尝试在 gemfile
gem 'jquery-turbolinks'
和应用程序中添加 gem.js//= require jquery.turbolinks
- [8.] 在 application.rb 中,我添加了:
config.assets.precompile += %w(*.js)
- [9.] 在生产.rb 中,我添加了
config.assets.precompile = ['*.js', '*.css', '*.css.erb']
- [10.] 我放置了一个简单的警报代码
alert('some-unique-string')
推送到 Heroku,但在控制台中看不到警报 - [11.] 我已设置:
assets.compress=true
- [12.] 我已经设置了:
config.assets.compress = true
并运行命令RAILS_ENV=production bundle exec rake assets:precompile
- [14.] 我安装了 jquery.migrate.plugin我不确定还能做什么,您的帮助将不胜感激。非常感谢
在部署到 Heroku 之前,我需要预编译我的文件:
-
bundle exec rake assets:precompile
-
git add .
-
git commit -m "precompiled files"
-
git push heroku master
这会将所有 JS 文件和 CSS 文件自动更新到 Heroku 上
相关文章:
- Jquery在生产和Heroku中不起作用,但在开发中运行良好
- 如何开发节点.js运行时策略
- 内容编辑器 Web 部件脚本不在 IE 11 中运行(如果开发人员工具处于打开状态,则运行)
- 在IE中没有开发人员控制台的情况下,JavaScript无法运行(can't属性为缺少控制台)
- 在 webpack bundle 中运行 Webpack 开发服务器
- 是否有在平板电脑上运行的JavaScript开发环境
- 在开发 chrome 扩展程序时,如何打开空白页面来运行脚本
- 检测生产与开发 在运行时做出反应
- 在开发过程中.js在特定 IP 地址上运行帆
- 在开发过程中自动连续运行 Jasmine 测试
- Chrome 开发 - chrome.tabs.sendMessage 不通知运行时
- Javascript只在Internet Explorer上运行一次,当开发人员工具打开时可以正常运行
- 如何运行一个网站开发与node.js在本地
- 在运行时从开发控制台修改角对象
- Meteor Up部署失败,但应用程序在开发中运行良好
- jQuery事件回调只运行一次(类angular框架开发)
- 如何在本地主机或开发系统Ubuntu中运行openshift MEAN项目
- 我正在开发的JavaScript游戏无法运行
- 如何在IE开发人员工具中为加载时运行的代码创建断点?
- 为什么我的AJAX请求在开发中是PUT请求,但在运行测试时是GET请求?