簡體   English   中英

未定義的方法`explain'for#

[英]undefined method `explain' for #<ActiveRecord::ConnectionAdapters::MysqlAdapter

我是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正在為我創建的其他腳手架工作,並列出數據。 我更新了實體Beer的mysql結構,它可能沒有反映rails中的變化(dunno)。

我是否需要一個不同的gem來將rails連接到mysql db? 任何關於檢查什么的建議都將受到贊賞(:

我猜你正在使用Rails 3.2並且你的Beer.all通話耗時太長。 3.2發行說明

在開發模式下會自動解釋運行時間超過半秒的查詢。 當然,這個閾值可以改變。

如果我們查看RailsMySQL適配器 ,就沒有explain方法。 但是, MySQL2適配器確實理解explain

首先,你可能需要更少的啤酒或一些分頁。 然后,您應該嘗試切換到MySQL2適配器; 只需通過編輯Gemfile來安裝新的適配器以使用mysql2 ,運行bundle來設置新的東西,然后將database.yml更改為更像這樣:

development:
  adapter: mysql2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM