RoR了解部署

时间:2011-12-17 22:24:50

标签: ruby-on-rails ruby deployment heroku

我对RoR非常陌生(现在通过Michael Hartl的教程)。我了解您的应用程序可以处于三种状态(?):开发,生产和测试。每个州通常使用不同的数据库类型。

我创建了一个空白的rails应用程序,将它放在git下,并将其部署到heroku。这一切都有效。我的应用程序是否处于heroku的生产状态,还是仍在开发中?你怎么检查?

我想我记得读过Gemfile指定了在不同状态下安装的资源。 heroku默认使用生产块中指定的任何内容吗?或者我离开了?

我的Gemfile

source 'http://rubygems.org'
gem 'rails', '3.0.11'
gem 'sqlite3', '1.3.3'

2 个答案:

答案 0 :(得分:1)

您可以查看heroku config您正在寻找RAILS_ENV和/或RACK_ENV的输出进行检查,默认设置为生产。

答案 1 :(得分:1)

Heroku默认会使用produciton。这就是你应该将生产宝石与其他宝石分开的原因。

例如,特别是在Heroku上你会想要添加'pg'宝石,因为他们正在使用Postgre数据库。

gem 'pg', :group => :production

但是因为你只需要在生产中使用它,所以没有必要在开发中使用它。同样,sqlite gem也不需要在您的生产环境中。

group :development, :test do
  gem 'sqlite3'
  gem 'rspec' # or any other testing gems, etc.
end