【问题标题】:App pushed to heroku still shows standard index page推送到heroku的应用程序仍然显示标准索引页面
【发布时间】:2011-09-15 02:57:16
【问题描述】:

我完成了安装 git 和 heroku gem 的步骤,并成功地将我的应用推送到了 heroku。 问题是,它显示了一个标准的“您正在使用 Ruby on Rails”页面,即使我拥有的本地应用程序已将路由设置为根到某个控制器/页面。我还从 /public 中删除了 index.html 页面。

知道为什么会这样吗?我怀疑我可能需要以某种方式从开发切换到部署,但我还是删除了 index.html,为什么它仍然出现在 heroku 上?

编辑:由于某种原因,转到 mysite.heroku/login 和我创建的其他页面工作正常,所以不要介意部署的事情。

【问题讨论】:

  • 你是用git rm从git中删除public/index.html,还是只是从你的工作目录中删除? git status 说什么?
  • 您应该将此作为答案发布,以便我可以给予它应得的信誉:) 我没有意识到您需要这样做,我认为 git push heroku master 会处理哪些文件被删除了,哪些没有被删除。

标签: ruby-on-rails ruby git deployment heroku


【解决方案1】:

当您使用 git 并删除文件时,该文件不会自动从 git 存储库中删除。因此,当您 git push heroku 时,该文件仍然存在并被推送到 Heroku。

您可以判断git status 是否属于这种情况,它会显示如下内容:

# Changes not staged for commit:
#   (use "git add/rm <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       deleted:    public/index.html

要删除文件,您需要使用git rm。在这种情况下,您需要执行以下操作:

git rm public/index.html
git commit -m "Removed public/index.html"

这将从当前分支中删除文件。

当你这样做时

git push heroku

该文件不会包含在内,因此您将被路由到 routes.rb 中指定的控制器。

【讨论】:

  • 你也可以只做git commit -am "message",它会处理已删除的文件。
  • 为了它的价值我做了一个 git add 。然后是 git add -u 但我猜是用户偏好
【解决方案2】:

我总是使用 git commit -am "message"。这防止了上述问题(肯定会发生),而且我不知道有什么理由不使用 -am。

编辑:另外,当您有新文件要添加时,请务必使用git add .

所以,我的流程是:

git status (to see what has changed)
git add . (if there are new files I want to add to repository)
git commit -am "This is the comment"
git push (to github)
git push heroku (--app app-name if there is more than one app connected to this repository)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-01
    • 1970-01-01
    • 2010-12-30
    • 1970-01-01
    • 1970-01-01
    • 2011-02-26
    • 1970-01-01
    相关资源
    最近更新 更多