我使用 rails s -e production
正确运行了我的 Rails 应用程序,但是当我运行 railsgeneratescaffold Campaign title:stringowner: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 正在正确运行
最佳答案
我认为您在 database.yml
的生产部分中only
指定了套接字。
当您执行rails生成..
时,它将在开发
环境中运行。所以无法连接mysql数据库。此外,在开发时,无需在生产
模式下运行应用程序。您只需使用 rails s
在开发模式下运行它即可。
顺便说一句,在生产服务器上,您必须像这样指定生产环境
RAILS_ENV=生产 rails 生成..
关于mysql - Rails 服务器可以工作...但无法生成脚手架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17278538/