rails server工作...但无法生成脚手架

时间:2013-06-24 14:54:29

标签: mysql ruby-on-rails sql-server

我使用rails s -e production正确运行了我的rails应用程序,但是当我运行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正在运行,因为应用程序正在运行

1 个答案:

答案 0 :(得分:2)

我认为您已在only的生产部分中指定了套接字database.yml

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

另一方面,在生产服务器上,您必须像这样指定生产环境

RAILS_ENV=production rails generate ..