首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails mysql2未定义的方法‘`accept’用于nil:NilClass

问Rails mysql2未定义的方法‘`accept’用于nil:NilClass
EN

Stack Overflow用户
提问于 2012-10-04 23:01:47
回答 6查看 11.6K关注 0票数 13

我知道这是一百万次了,但是我尝试了所有的方法,我仍然得到这个错误:

代码语言:javascript
复制
$ rake db:migrate
rake aborted!
undefined method `accept' for nil:NilClass

Tasks: TOP => db:migrate
(See full trace by running task with --trace)

以下是gem列表(不是全部):

代码语言:javascript
复制
activemodel (3.2.8)
activerecord (3.2.8)
activerecord-mysql2-adapter (0.0.3)
builder (3.1.3, 3.0.3)
bundler (1.2.1)
mysql2 (0.3.2)

rails (3.2.8)
rails_apps_composer (2.2.10)
railties (3.2.8)
rake (0.9.2.2)
rdoc (3.12)
sqlite3 (1.3.6)
therubyracer (0.10.2)
thor (0.16.0)
tilt (1.3.3)
treetop (1.4.10)
twitter-bootstrap-rails (2.1.3)
tzinfo (0.3.33)
uglifier (1.3.0)

我尝试过mysql2的所有版本(从0.2.7到0.3.2)

编辑(数据库文件):

代码语言:javascript
复制
development:
  adapter: mysql2
  database: tripwall
  username: root
  password: pass
  host: localhost
  pool: 5
  timeout: 5000
EN

回答 6

Stack Overflow用户

发布于 2012-12-09 21:15:24

Sean和Mitch的两个答案都对解决方案做出了贡献:

gem的

  • 版本应为0.3.11或更高版本,并且应从gemfile中删除
  • activerecord-mysql2-adapter。

我想说清楚的是:

  1. 您的gemfile应该包含以下行(单独删除activerecord-mysql2-
  2. ):gem 'mysql2'

  1. gem list应输出以下行: activerecord-mysql2-adapter (0.0.3)

mysql2 (0.3.11)

编辑:

当我试图打开一个脚手架生成的模型的索引时,我也得到了下面的错误:

代码语言:javascript
复制
NoMethodError (undefined method `accept' for nil:NilClass):
app/controllers/posts_controller.rb:5:in `index'

我必须重新启动rails服务器;这解决了问题。

票数 23
EN

Stack Overflow用户

发布于 2012-10-04 23:21:00

当我遇到这个错误时,我只记得我做了什么来修复它。

只需移除

活动记录-mysql2-适配器(0.0.3)

从你的gemfile中!

希望这能解决这个问题!

干杯,肖恩

票数 13
EN

Stack Overflow用户

发布于 2012-10-04 23:57:42

我不知道为什么,但是当我添加gem "mysql2",">= 0.3.11“时,它就起作用了。我尝试过gem "mysql2",'0.3.2‘,但它不起作用。不管怎么都要谢谢您。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12730190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档