неопределенный метод `объяснение 'для # - PullRequest
7 голосов
/ 30 января 2012

Я новичок в Ruby on Rails, но я изучил некоторые уроки и немного разбираюсь в них. Я создал несколько строительных лесов и вставил данные в базу данных MySql.

При переходе на index.html.erb я получаю сообщение об ошибке в заголовке

Контроллер выполняет индекс

  def index
    @beers = Beer.all

    respond_to do |format|
      format.html # index.html.erb
      format.json { render :json => @beers }
    end
  end

И имеет это как структуру

Beer: id, brewer_id, name, price, score, color, brew_type, create_at, updated_at

RoR работает для других созданных мной лесов и перечисляет данные. Я обновил структуру в MySQL для сущности Beer, и она, вероятно, не отразила изменения в рельсах (не знаю).

Нужен ли другой драгоценный камень для подключения рельсов к базе данных mysql? Буду признателен за любые советы о том, что проверять (:

1 Ответ

24 голосов
/ 30 января 2012

Я предполагаю, что вы используете Rails 3.2 и ваш Beer.all вызов занимает слишком много времени.Из примечаний к выпуску 3.2 :

Запросы, выполнение которых занимает более полсекунды, автоматически объясняются в режиме разработки.Этот порог, конечно, можно изменить.

И если мы посмотрим на адаптер MySQL для Rails , метода explain не существует.Однако адаптер MySQL2 понимает explain.

Прежде всего, вам, вероятно, нужно меньше пива или немного нумерации страниц.Затем вы должны попробовать перейти на адаптер MySQL2;просто установите новый адаптер, отредактировав свой Gemfile для использования mysql2, запустите bundle, чтобы настроить новый материал, а затем измените свой database.yml, чтобы он выглядел больше так:

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