Неопределенный метод `accept 'для nil: NilClass на рейке db: migrate - PullRequest
18 голосов
/ 12 февраля 2012

Использование ruby-1.9.2 и рельсов 3.2.1. Версия mysql2 - 0.2.7.

После запуска rake db: migrate я получаю сообщение об ошибке: "неопределенный метод` accept 'для nil: NilClass: "

Трассировка включает в себя:

gems / activerecord-3.2.1 / lib / active_record / connection_adapters / abstract / database_statements.rb: 7: в `to_sql '

Ответы [ 7 ]

28 голосов
/ 17 февраля 2013

Измените Gemfile с:

gem 'activerecord-mysql2-adapter'

до:

gem 'mysql2'
11 голосов
/ 06 марта 2012

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

bundle update mysql2

        Or

bundle update

Для более подробной информации посетите Github

10 голосов
/ 03 октября 2012

Для меня, удалив gem 'activerecord-mysql2-adapter' из Gem File отработано

1 голос
/ 03 декабря 2013

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

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

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

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

1 голос
/ 12 декабря 2012

Установите самый последний рубиновый драгоценный камень mysql2.мое окружение:

Rails3.2.9 + mysql2 0.2.9,  : "undefined method `accept' for nil:NilClass:"
Rails3.2.9 + mysql2 0.3.11, works fine
0 голосов
/ 16 июня 2013

Определите:

def nil.accept
  puts "Accepted."
end

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

0 голосов
/ 24 августа 2012

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

dev:
  adapter: mysql2

Это должно быть (даже если вы используете gem mysql2):

dev:
  adapter: mysql

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

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