0

我正确地运行了我的rails应用程序rails s -e production,但是当我运行时rails generate scaffold Campaign title:string owner:string我得到了

/Users/myhome/vendor/bundle/ruby/2.0.0/gems/mysql2-0.3.11/lib/mysql2/client.rb:44:in `connect': Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

为什么会这样?由于应用程序正在运行,apache 正在正确运行

4

1 回答 1

2

我认为您已经onlydatabase.yml.

当你这样做rails generate..时,它将在development环境中运行。所以它无法连接到mysql数据库。此外,在开发过程中,无需在production模式下运行应用程序。您可以使用rails s它在开发模式下运行它。

附带说明一下,在生产服务器上,您必须像这样指定生产环境

RAILS_ENV=production rails generate ..

于 2013-06-25T06:39:01.507 回答