2012-08-14 38 views
2

我在運行db:migrate時遇到「nil:NilClass」的未定義方法'accept'錯誤。我的配置是:「未定義的方法`接受'爲零:NilClass」

Rails 3.2.8 
MySql 5.1.54 
OS : win7 
ruby : 1.9.2 

我的寶石list命令:

F:\RailsApp\MyApp>gem list 

*** LOCAL GEMS *** 

actionmailer (3.2.8) 
actionpack (3.2.8) 
activemodel (3.2.8, 3.1.0) 
activerecord (3.2.8) 
activeresource (3.2.8) 
activesupport (3.2.8, 3.1.0) 
arel (3.0.2) 
bcrypt-ruby (3.0.1 x86-mingw32) 
builder (3.0.0) 
bundler (1.1.5) 
coffee-rails (3.2.2) 
coffee-script (2.2.0) 
coffee-script-source (1.3.3) 
erubis (2.7.0) 
execjs (1.4.0) 
hike (1.2.1) 
i18n (0.6.0) 
journey (1.0.4) 
jquery-rails (2.0.2) 
json (1.7.4) 
mail (2.4.4) 
mime-types (1.19) 
minitest (1.6.0) 
multi_json (1.3.6) 
mysql (2.8.1 x86-mingw32) 
mysql2 (0.3.11 x86-mingw32, 0.2.6 x86-mingw32) 
polyglot (0.3.3) 
rack (1.4.1, 1.3.6) 
rack-cache (1.2) 
rack-ssl (1.3.2) 
rack-test (0.6.1) 
rails (3.2.8) 
railties (3.2.8) 
rake (0.9.2.2, 0.8.7) 
rdoc (3.12, 2.5.8) 
sass (3.2.0) 
sass-rails (3.2.5) 
sprockets (2.1.3) 
thor (0.15.4) 
tilt (1.3.3) 
treetop (1.4.10) 
tzinfo (0.3.33) 
uglifier (1.2.7) 

我也照搬%MYSQLPATH%/斌/ libmysql.dll的文件到%RUBYHOME%/ bin文件夾。

任何人都可以請求幫助我解決這個問題嗎?

回答

2

最後我請參考此帖mysql2 gem compiled for wrong mysql client library解決問題。

我所做的是:

  1. 下載和http://dev.mysql.com/get/Downloads/Connector-C/mysql-connector-c-noinstall-6.0.2-win32.zip/from/pick

  2. 刪除所有的MySQL/mysql2寶石提取包,並使用此命令重新安裝mysql寶石: gem install mysql --platform=ruby -- --with-mysql-dir=E:/mysql-connector-c-noinstall-6.0.2-win32

  3. add gem 'mysql' in GemFile

  4. 修改的database.yml與adapter:mysql

  5. 副本MYSQLHOME /斌/ libmsql.dll到RUBYHOME/bin中

  6. ,如果找到則DSL錯誤的Rake文件

    的頂部

添加require 'rake/dsl_definition'它工作.. :-)

我最後的Gemfile是:

source 'https://rubygems.org' 
gem 'rails', '3.2.3' 
gem 'mysql' 
group :assets do 
    gem 'sass-rails', '~> 3.2.3' 
    gem 'coffee-rails', '~> 3.2.1' 
    gem 'uglifier', '>= 1.0.3' 
end 

gem 'jquery-rails' 
1

這可能是一個AR-JDBC問題。嘗試運行

bundle update activerecord-jdbc-adapter 

這可能會幫助你..

如果它不爲你工作,嘗試用

bundle update mysql2 

欲瞭解更多信息窺視GitHub Issue

1

我通過更正database.yml文件修復了相同的問題。這是採用mysql2現在我有正確的它到mysql

相關問題