我正在尝试将我的应用程序部署到 Heroku,我以前在我的 Windows 机器上做过,现在我正在使用 mac。
我第一次尝试使用 Postgresql。
我的 Gemfile 中有以下内容:
gem 'pg'
编辑:
AndrewDavis-OSX:lunchbox ardavis$ rvm list
rvm rubies
=> ruby-1.9.2-p180 [ x86_64 ]
AndrewDavis-OSX:lunchbox ardavis$ heroku rake db:migrate
rake aborted!
/app/config/initializers/session_store.rb:3: syntax error, unexpected ':', expecting $end
App::Application.config.session_store :cookie_store, key: '_app_session'
^
(See full trace by running task with --trace)
(in /app)
如您所见,我正在运行 ruby 1.9.2。我的heroku迁移存在错误。
编辑2:
刚刚使用 Rails 3.1.rc1 创建了一个全新的 Rails 应用程序。我将 gemfile 设置为包含
组:生产做 gem 'therubyracer-heroku','0.8.1.pre3' gem 'pg' end
我做了一个快速的 git init,提交,然后是 'heroku create' 和 'git push heroku master'。这些都工作得很好。但是问题是当我尝试“heroku rake db:migrate”时。我得到与您在上面看到的相同的错误。
临时修复编辑:
所以......如果我改变我的 config/initializers/session_store.rb 从
App::Application.config.session_store :cookie_store, key: '_app_session'
到
App::Application.config.session_store :cookie_store, :key => '_app_session'
并将我的 config/initializers/wrap_parameters.rb 从
ActionController::Base.wrap_parameters format: [:json]
到
ActionController::Base.wrap_parameters :format => [:json]
然后我就可以执行 'heroku rake db:migrate' 了。任何人都愿意解释为什么这在本地以原始方式工作,而不对冒号/哈希进行任何修改?原始方式是通过执行“rails new myApp”生成的默认值