2011年5月28日星期六

Deploy Rails 3.1.0.RC1 to Heroku

Rails 3.1.0.RC1 deploy到heroku時,需要注意兩個部分:

1. 你需要在Gemfile中加入:

group :production do
gem 'therubyracer-heroku', '0.8.1.pre3'
gem 'pg'
end

Heroku的資料庫是使用PostgreSQL,所以需要pg這個gem。
因為原本的therubyracer gem,因為V8的問題,所以無法正常的在heroku中被安裝,所以有人專為heroku改了一個。

2. 你需要在Heroku中執行MRI RUBY 1.9.2

在config/initializers/session_store.rb中


Wiper::Application.config.session_store :cookie_store, key: '_myapp_session'

其中 key: '_myapp_session' 是ruby 1.9的語法,所以heroku中預設的ree 1.8.7會有錯誤訊息。

在Heroku中使用MRI 1.9.2你需要執行:

heroku stack:migrate bamboo-rmi-1.9.2

然後重新push一次。

當然,你也可以不要使用MRI 1.9.2,只需將config/initializers/session_store.rb中改為:

Wiper::Application.config.session_store :cookie_store, :key => '_myapp_session'

不過Rails 3.1已經預設使用Ruby 1.9了,這樣的例子未來可以層出不窮。

參考:

Get Rails 3.1beta1 on Heroku
therubyracer-heroku

0 意見:

張貼意見