Ответ 1
Измените Gemfile
на:
gem 'activerecord-mysql2-adapter'
в
gem 'mysql2'
Использование ruby-1.9.2 и рельсов 3.2.1. Версия mysql2 равна 0.2.7.
После запуска rake db: migrate я получаю ошибку: "undefined метод` accept 'для nil: NilClass:"
Трассировка включает в себя:
gems/activerecord-3.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb: 7: in `to_sql '
Измените Gemfile
на:
gem 'activerecord-mysql2-adapter'
в
gem 'mysql2'
Хорошо, я исправил свою машину. Это из-за более старого MySQL2. Сделайте это, чтобы решить проблему.
bundle update mysql2
Or
bundle update
Подробнее см. Github
Для меня, удалив gem 'activerecord-mysql2-adapter' из созданного файла Gem
Установите последний драгоценный камень ruby mysql2. моя среда:
Rails3.2.9 + mysql2 0.2.9, : "undefined method `accept' for nil:NilClass:"
Rails3.2.9 + mysql2 0.3.11, works fine
Это может произойти из-за несовместимости вашей версии mysql
и ruby
.
Чтобы решить эту проблему, обновите свой камень mysql gem install mysql
, который установит последний камень mysql.
А затем добавьте это в свой Gemfile
.
Если проблема остается, вы должны увидеть совместимость между ruby и mysql
Вы получите это, если в вашем файле database.yaml у вас есть:
dev:
adapter: mysql2
Это должно быть (даже если камень, который вы используете, - mysql2):
dev:
adapter: mysql
Мне понадобилось больше недели, чтобы понять это, надеюсь, что это сэкономит вам некоторое время.
Определение:
def nil.accept
puts "Accepted."
end
И ошибка исчезнет.