Jquery-интерфейс не работает на Heroku, но на localhost да - PullRequest
1 голос
/ 30 декабря 2011

У меня есть приложение, и я использую там камень autocomplete. Это прекрасно работает на 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 ]

2 голосов
/ 20 сентября 2013

Для всех, кто пришел сюда из Google - я искал и искал - наконец - в моем случае ответ оказался директивой include в app / assets / application.js:

// 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 (у вас действительно установлены jquery-rails?), Тогда запускаете:

RAILS_ENV=production bundle exec rake assets:precompile:all

В вашей оболочке в корневом каталоге вашего Rails-приложения (я здесь все пишу, потому что люди часто не указывают все явно в своих комментариях!)

Вы не должны получать никаких ошибок - вот что: все в конце выявляло ошибки jquery / jquery_ujs.

Если вы просто наберете:

bundle exec rake assets:precompile

Вы, вероятно, не получите никаких ошибок - но jquery тоже не сработает (это та часть, которая меня смутила).

Когда я нашел еще один комментарий к SO, который сказал добавить: все, и это покажет jquery erros - альт! - он сказал мне, что вещи не были правильными.

Итак, наконец, удалив jquery_ujs (который был задокументирован как «НЕ УДАЛЯЙТЕ ЭТО НА БОЛЕЕ СМЕРТИ» в других местах ...) и скомпилировав, а затем запустив единорога, как будто я работаю - это прекрасно работает.

Бонус, конечно, теперь, когда у вас есть скомпилированные ресурсы, вы можете выбросить эту папку на Amazon S3, открыть учетную запись CloudFront, использовать что-то вроде asset_sync gem - и еще больше снизить нагрузку на динамометры Heroku.

BALLER

0 голосов
/ 23 января 2015

В моем случае мне пришлось удалить этот плагин из моего файла gem 'sprockets_better_errors'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...