1

我的网站目前已死,因此我无法解释这对我来说有多紧迫。

情况:几天前,我收到 Heroku 的一封电子邮件“需要采取行动:Rails 安全漏洞”,建议我将 rails 更新到版本 '3.2.11'。在我按照电子邮件中的所有步骤进行操作后,我尝试打开我的网站。当我看到我无法打开我的网站时,我感到非常惊讶。我的网站是用RefineryCMS.

是否有可能使用 git 将我的网站恢复到之前一切正常的时间点?

当我在本地运行该站点时,出现以下错误:

ActiveRecord::RecordNotFound in Refinery::PagesController#home

找不到 id=torte-za-rodendan 的 Refinery::Page

...

app/views/stranice/naslovnica/_favourite_products.html.erb:7:in `_app_views_stranice_naslovnica__favourite_products_html_erb__4156700835010289094_66485000'

app/views/refinery/pages/home.html.erb:16:in `_app_views_refinery_pages_home_html_erb___2482419061129865361_67

4

1 回答 1

3

是的,我们都收到了 Heroku 发来的电子邮件。

由于您的网站之前使用 git 进行版本控制,您可以按照以下步骤撤消上次提交。

但是,我不确定您是否真的需要执行上述操作。您只需要确保您的 heroku 应用程序在 rails 3.2.11 上运行 - 这是一个非常严重的安全问题,也许 heroku 甚至会阻止升级速度不够快的网站。

跟着这些步骤:

  • 运行测试并确保一切正常
  • git checkout -b new_rails通过 git ( )开辟一个新的分支
  • 在 Gemfile 中更改 Rails 3.2.11
  • Change RAILS_GEM_VERSION to '3.2.11' in environment.rb
  • Run bundle update rails
  • Run the tests and see if everything still works
  • If not, reverse back to the old branch by doing git checkout master; optionally delete the new branch by doing git branch -D new_rails

Doing it only on the new branch ensures nothing breaks.

If you still get errors afterwards, please tell us what's in heroku's log.

于 2013-01-12T16:10:42.927 回答