我试图将配置了Postgres数据库的Rails 3.2.12应用程序推送到Heroku。第一次运行
我随后运行了
有趣的是,application.rb文件的第五行正是我添加的上一行代码:
最后,我注意到如果在我的application.rb文件中使用上述行,我无法在本地启动数据库 - 我会收到以下错误:
git push heroku master
时,我收到了以下错误信息。Running: rake assets:precompile
rake aborted!
could not connect to server: Connection refused
Is the server running on host "127.0.0.1" and accepting
TCP/IP connections on port 5432?
在一些故障排除后,我发现了这篇文章,并在我的config/application.rb
文件中添加了以下行:
config.assets.initialize_on_precompile = false
我随后运行了
heroku run rake db:migrate
命令,以开始填充 Heroku 数据库,并收到如下错误提示:Running rake db:create attached to terminal... up, run.4115
rake aborted!
undefined local variable or method `config' for main:Object
/app/config/application.rb:5:in `<top (required)>'
/app/Rakefile:5:in `require'
/app/Rakefile:5:in `<top (required)>'
有趣的是,application.rb文件的第五行正是我添加的上一行代码:
config.assets.initialize_on_precompile = false
最后,我注意到如果在我的application.rb文件中使用上述行,我无法在本地启动数据库 - 我会收到以下错误:
config/application.rb:5:in `<top (required)>': undefined local variable or method `config' for main:Object (NameError)
这个问题似乎是一个进退两难的局面。我如何在不修改application.rb文件的情况下部署到Heroku,并在本地服务器上运行它?
config.assets.initialize_on_precompile = false
添加到了正确的位置吗?你可以通过将这行代码移到 application.rb 文件中任何conf.<anything>
之后来确认。 - mohamagdyrequire File.expand_path('../boot', __FILE__)
和require 'rails/all'
之后。 - Anconia