Jquery-ui不适用于Heroku,但是在localhost上是的

时间:2011-12-30 00:57:08

标签: jquery ruby jquery-ui ruby-on-rails-3.1 heroku

我有一个应用程序,我在那里使用autocomplete gem。在localhost上我很棒。但是,当我将此应用程序部署到Heroku时,autocomplete插件对我不起作用。 Firebug没有错误,只是没有。

有没有人有想法,哪里可能有问题? 这就是我的Gemfile

source 'http://rubygems.org'

gem 'rails', '3.1.2'

# Bundle edge Rails instead:
# gem 'rails',     :git => 'git://github.com/rails/rails.git'

gem 'mysql2'
gem "rvm", "~> 1.9.2"
gem 'authlogic'
gem "rake", "0.8.7"
gem 'json'
gem "declarative_authorization", "~> 0.5.3"
gem "ancestry", "~> 1.2.4"
gem "taps", "~> 0.3.23"
gem "paperclip", "~> 2.4.5"
gem 'aws-s3'
gem "awesome_print", "~> 1.0.1"
gem 'actionmailer'
gem 'wkhtmltopdf-binary'
gem 'rails3-jquery-autocomplete'

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

group :production do
  gem 'therubyracer-heroku', '0.8.1.pre3'
  gem 'pg'
end



gem 'jquery-rails'

# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'

# Use unicorn as the web server
# gem 'unicorn'

# Deploy with Capistrano
# gem 'capistrano'

# To use debugger
# gem 'ruby-debug'

2 个答案:

答案 0 :(得分:2)

对于那些从谷歌来到这里的人 - 我搜索并搜索 - 最后 - 在我的情况下答案结果是app / assets / application.js中的include指令:

// WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
// GO AFTER THE REQUIRES BELOW.
//
**//= require jquery_ujs**
//= require excanvas.min
//= require bootstrap.min

我添加了** fyi

当你拿出那行时,因为你安装了jquery-rails gem(你确实安装了jquery-rails吗?)然后运行:

RAILS_ENV=production bundle exec rake assets:precompile:all

在你的Rails应用程序的根目录中的shell(我在这里拼写所有内容导致很多时候人们没有明确说明他们评论中的所有内容!)

你不应该得到任何错误 - 就是这样:所有在最后都揭示了jquery / jquery_ujs的错误。

如果您只输入:

bundle exec rake assets:precompile

你可能不会得到任何错误 - 但jquery也不会起作用(这是让我失望的部分)。

当我发现另外一条关于SO的评论说要添加:所有它会揭示jquery erros - 中提琴! - 它告诉我东西不对。

所以最后删除了jquery_ujs(记录为在其他地方不要删除死亡的痛苦......)并编译然后运行独角兽,好像我正在制作中 - 它的效果很好。

奖励当然是你已经编译了你的资产,你可以在Amazon S3上抛出该文件夹,打开CloudFront帐户,使用像asset_sync gem这样的东西 - 并在Heroku的dynos上减少负担。

BALLER

答案 1 :(得分:0)

在我的情况下,我不得不从我的gem文件中删除这个插件 gem' sprockets_better_errors'