首先,我是Rails的新手。我正在制作一个博客应用,当尝试在生产环境中运行它时,两种方式都可以:
rails s -e production
和
RAILS_ENV=production
我犯了同样的错误:
=>正在启动WEBrick
=> Rails 3.2.8应用程序从http://0.0.0.0:3000开始生产
=>用-d调用以分离
=> Ctrl-C关闭服务器
退出中
/home/loku/.rvm/gems/ruby-1.9.3-p286/gems/activerecord-> resolve_hash_connection':数据库配置未指定适配器(ActiveRecord :: AdapterNotSpecified)
...
我的设置:
ruby 1.9.3p286 (2012-10-12 revision 37165) [i686-linux]
Rails 3.2.8
database.yml:
development:
adapter: mysql2
encoding: utf8
reconnect: false
database: blogg_development
pool: 5
timeout: 5000
username: root
password: ***
host: localhost
production:
adapter: mysql2
encoding: utf8
reconnect: false
database: blogg_production
pool: 5
timeout: 5000
username: root
password: ***
host: localhost
宝石文件:
source 'https://rubygems.org'
ruby '1.9.3'
gem 'rails', '3.2.8'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
gem 'mysql2'
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
gem 'therubyracer', :platforms => :ruby
gem 'uglifier', '>= 1.0.3'
gem 'haml-rails'
gem 'less-rails'
gem 'twitter-bootstrap-rails', :git => 'git://github.com/seyhunak/twitter-bootstrap- rails.git'
#gem 'actionpack', '~> 3.1.0'
end
gem 'jquery-rails'
gem 'haml'
gem 'devise'
gem 'cancan'
group :test, :development do
gem 'guard-livereload'
gem 'rb-fsevent'
gem 'pry'
gem 'pry-rails'
end
group :linux do
gem 'libnotify'
end
group :darwin do
gem 'rb-fsevent', require: false
gem 'growl'
end
最佳答案
这些是要考虑的事情
Gemfile中的mysql2(是)
在config / database.yml中定义的生产环境(是)
2.2从您的database.yml中删除任何其他环境,然后退出生产:仅
确保已正确缩进(我认为是)
捆绑安装(确保已安装gems)
捆绑显示mysql2以查看版本并确保已安装
bundle exec rails -e production(确保使用bundle exec)
如果那不起作用,我将查看config / environments / production.rb并确保那里没有任何稀有的东西。
关于ruby-on-rails - 生产环境错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13726492/