2013-02-07 140 views
0

jQuery在本地开发中为我工作,但在Heroku Cedar中不在生产中。我对Rails很陌生,所以我试图以正确的方式学习,而不是仅仅将代码放在视图中。我在服务器日志中看不到任何错误。我在本地编译我的资产:JQuery在开发中工作,而不是在Heroku上生产Cedar

束EXEC耙资产:预编译

然后推动整个应用的Heroku。我试过几个不同的宝石组合,当前配置:

的Gemfile

source 'https://rubygems.org' 

gem 'rails', '3.2.11' 
gem 'bcrypt-ruby', '3.0.1' 
gem 'execjs' 
gem 'jquery-rails' 
gem 'will_paginate', '~> 3.0.0' 
gem 'sass-rails', '~> 3.2.3' 
gem 'bootstrap-sass', '~> 2.2.2.0' 
gem 'bootstrap-will_paginate', '0.0.6' 
gem "friendly_id", "~> 4.0.9" 
gem 'twitter' 
gem 'devise' 
gem 'cancan' 
gem "paperclip", "~> 3.0" 
gem "cocaine", "= 0.3.2" 

group :production do 
    gem 'pg' 
    gem 'thin' 
end 
group :development, :test do 
    gem 'sqlite3' 
end 

# Gems used only for assets and not required 
# in production environments by default. 
group :assets do 
    gem 'coffee-rails', '~> 3.2.1' 
    gem 'uglifier', '>= 1.0.3' 
end 

的application.js

//= require jquery 
//= require jquery_ujs 
//= require bootstrap 
//= require_tree . 
+0

它是如何不工作?是否有弹出的JS错误(在浏览器的开发工具中)?另外,尝试在Bootstrap之前需要jQuery。 – MrDanA

+0

没有任何jQuery交互在页面上工作。它虽然加载罚款。有一个错误,application-xxxx.js文件的第一行非常长的一行。 Uncaught TypeError:undefined不是函数 – timroman

+0

Uncaught TypeError:undefined不是函数错误可能是什么阻止了你的javascript窗体的其余工作 –

回答

1

愚蠢的错误,我有引导的额外拷贝在我JavaScript资产文件夹。一旦我删除并重新编译资产,一切都按预期工作。在您的资产中不需要jQuery或bootstrap文件,只需在application.js中包含上述的gems和上面的行,然后在jQuery之后引导。

+0

3年后同样的错误!你解决救了我!谢谢 –

0

就我而言,我只是执行命令的论文:

  • Heroku上运行的宝石清理
  • 耙资产:预编译(区域)
  • 混帐推Heroku的主 这个公司对我的作品后in rails 5
相关问题