Подтвердить что ты не робот

Undefined метод `accept 'для nil: NilClass on rake db: migrate

Использование 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 '

4b9b3361

Ответ 1

Измените Gemfile на:

gem 'activerecord-mysql2-adapter'

в

gem 'mysql2'

Ответ 2

Хорошо, я исправил свою машину. Это из-за более старого MySQL2. Сделайте это, чтобы решить проблему.

bundle update mysql2

        Or

bundle update

Подробнее см. Github

Ответ 3

Для меня, удалив gem 'activerecord-mysql2-adapter' из созданного файла Gem

Ответ 4

Установите последний драгоценный камень ruby ​​mysql2. моя среда:

Rails3.2.9 + mysql2 0.2.9,  : "undefined method `accept' for nil:NilClass:"
Rails3.2.9 + mysql2 0.3.11, works fine

Ответ 5

Это может произойти из-за несовместимости вашей версии mysql и ruby.

Чтобы решить эту проблему, обновите свой камень mysql gem install mysql, который установит последний камень mysql.

А затем добавьте это в свой Gemfile.

Если проблема остается, вы должны увидеть совместимость между ruby ​​и mysql

Ответ 6

Вы получите это, если в вашем файле database.yaml у вас есть:

dev:
  adapter: mysql2

Это должно быть (даже если камень, который вы используете, - mysql2):

dev:
  adapter: mysql

Мне понадобилось больше недели, чтобы понять это, надеюсь, что это сэкономит вам некоторое время.

Ответ 7

Определение:

def nil.accept
  puts "Accepted."
end

И ошибка исчезнет.