7

我是 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 更新了结构,它可能没有反映 rails 的变化(不知道)。

我需要不同的 gem 来将 rails 连接到 mysql 数据库吗?任何有关检查内容的建议将不胜感激(:


您必须使用捕获组:

strInput = strInput.replace(/(<img[^>]+)>/gm, "$1 />");

这是小提琴:http: //jsfiddle.net/ChNnU/

4

1 回答 1

24

我猜您使用的是 Rails 3.2,而且您的Beer.all通话时间太长了。从3.2 发行说明

运行时间超过半秒的查询会在开发模式中自动解释。当然,这个阈值是可以改变的。

如果我们查看Rails 的 MySQL 适配器,则没有explain方法。但是,MySQL2 适配器确实理解explain.

首先,您可能需要更少的啤酒或一些分页。然后,您应该尝试切换到 MySQL2 适配器;Gemfile只需通过编辑您的to use 来安装新适配器mysql2,运行bundle以设置新的东西,然后将您的更改database.yml为看起来更像这样:

development:
  adapter: mysql2
于 2012-01-30T00:36:24.167 回答