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 意見:
張貼意見