Rails 4.1.2 не может установить пулю

Я добавил в свой гем-пулю Gemfile:

gem "bullet", :group => "development"

и в моем development.rb я добавил:

  config.after_initialize do
    Bullet.enable = true
    Bullet.alert = true
  end

Когда я пытаюсь запустить свой сервер rails, у меня появляется следующее сообщение об ошибке:

/home/mateusz/.rvm/gems/ruby-2.0.0-p0@rails4/gems/bullet-4.7.1/lib/bullet/active_record4.rb:53:in `alias_method': undefined method `construct_association' for class `ActiveRecord::Associations::JoinDependency' (NameError)

Заранее спасибо за помощь.


person Mateusz Urbański    schedule 14.08.2014    source источник


Ответы (1)


хм.. у меня отлично работает. Пробовал как на уже существующем, так и на новом проекте - Win & Lin, оба. Должна быть какая-то другая проблема, возможно, с gem версией или rails версией.

Просто для тестового примера - почему бы вам не создать новый тестовый проект, чтобы посмотреть, работает ли он там

rails new testproj
cd testproj
rails generate scaffold Person name:string
rake db:create db:migrate

Как только это будет сделано, просто откройте gemfile и добавьте: gem "bullet", :group => "development"
Затем в файл testproj/config/environments/development.rb добавьте это

Rails.application.configure do
  ...
  config.after_initialize do
    Bullet.enable = true
    Bullet.alert = true
  end
  ...
end

После этого просто выполните bundle install и запустите rails server

Если ошибка все еще появляется, обновите gems:-
gem update --system, а затем gem update

person zhirzh    schedule 15.08.2014
comment
рад помочь. Кстати, не могли бы вы поделиться информацией об использовании пули?‹br›Для чего она в основном используется? - person zhirzh; 15.08.2014
comment
Драгоценный камень Bullet разработан, чтобы помочь вам повысить производительность вашего приложения за счет уменьшения количества запросов, которые оно делает. Он будет следить за вашими запросами, пока вы разрабатываете свое приложение, и уведомлять вас, когда вы должны добавить упреждающую загрузку (запросы N + 1), когда вы используете упреждающую загрузку, которая не нужна, и когда вы должны использовать кэш счетчика. Скопировано непосредственно с: github.com/flyerhzm/bullet - person Mateusz Urbański; 18.08.2014