0

我试图在 Heroku 上上传我的 rails3.2 应用程序。我按照 Heroku 上的说明进行了上传。

打开应用程序后,我得到了错误。我跑了“heroku日志”并得到了

    2012-07-21T19:07:01+00:00 app[web.1]: => Booting Thin
    2012-07-21T19:07:01+00:00 app[web.1]: => Rails 3.2.6 application starting in production on http://0.0.0.0:34125
    2012-07-21T19:07:01+00:00 app[web.1]: => Call with -d to detach
    2012-07-21T19:07:01+00:00 app[web.1]: Exiting
    2012-07-21T19:07:01+00:00 app[web.1]: => Ctrl-C to shutdown server
    2012-07-21T19:07:01+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:251:in `require':   /app/app/models/question.rb:2: syntax error, unexpected '\n', expecting tASSOC (SyntaxError)

该日志说我在“question.rb”中有 SyntaxError,但我之前已经删除了该模型。因此,这意味着 Heroku 识别出不存在的模型。

我尝试了“heroku pg:reset SHARED_DATABASE”和“bundle exec rake db:drop:all”但 Heroku 仍然错误地识别了模型。

我怎样才能解决这个问题。

4

1 回答 1

2

似乎您还没有从 git 存储库中删除模型文件。

首先让我们检查一下你的 git repo 中是否还有模型文件。这是为了检查我是否怀疑是问题所在。

在你git log的终端做

复制最近提交的 git 提交代码,看起来像af99fe31c0598a8aezecf704c68d20c153ccad9c

在您git ls-tree -r --name-only af99fe31c0598a8aezecf704c68d20c153ccad9c的终端中执行。

很可能,您仍会在列表中找到模型文件。

git rm /app/app/models/question.rb

提交任何更改,然后推送到 Heroku。

heroku run rake db:migrateheroku restart

看看问题是否仍然存在。

于 2012-07-21T19:44:44.707 回答