【问题标题】:Heroku DB not finding row after an edit changed the order of rows in DB编辑后 Heroku DB 未找到行更改了 DB 中的行顺序
【发布时间】:2015-09-25 03:08:47
【问题描述】:

所以这很有趣。我编辑了一个用户配置文件,据我所知,它在 heroku 上的数据库中移动。它现在位于第 15 行下方,其 id 为 1。这是连接到 heroku db 后控制台的输出:

3 | Danyka     | Jones      | filip_nikolaus      | pass                                                         |        | https://lh3.googleusercontent.com/-jMRFTtoaM9I/U81C6LW8SMI/AAAAAAAABJU/6fI9fgRLVnQ/w426-h341/giving-hand.jpg                                                    | Add quote..                                                             |            |            | 2015-09-02 05:37:35.252597 | 2015-09-02 05:37:35.252597 | 
  4 | Angelina   | Kub        | ebbarempel          | pass                                                         |        | http://2.bp.blogspot.com/-iaXdpAip50o/TVaA1dfkLKI/AAAAAAAAADI/Lc58jQMLQtw/s320/happy3.png                                                                       | Add quote..                                                             |            |            | 2015-09-02 05:37:35.258762 | 2015-09-02 05:37:35.258762 | 
  5 | Bo         | Barton     | per_hammes          | pass                                                         |        | http://www.theunpluggedwoodshop.com/wp-content/uploads/2012/10/giving-tree-1.jpg                                                                                | Add quote..                                                             |            |            | 2015-09-02 05:37:35.26435  | 2015-09-02 05:37:35.26435  | 
  6 | Tristian   | Vandervort | ulf                 | pass                                                         |        | http://2.bp.blogspot.com/-iaXdpAip50o/TVaA1dfkLKI/AAAAAAAAADI/Lc58jQMLQtw/s320/happy3.png                                                                       | Add quote..                                                             |            |            | 2015-09-02 05:37:35.269916 | 2015-09-02 05:37:35.269916 | 
  7 | Bert       | Cartwright | annaschinner        | pass                                                         |        | https://lh3.googleusercontent.com/-jMRFTtoaM9I/U81C6LW8SMI/AAAAAAAABJU/6fI9fgRLVnQ/w426-h341/giving-hand.jpg                                                    | Add quote..                                                             |            |            | 2015-09-02 05:37:35.275477 | 2015-09-02 05:37:35.275477 | 
  8 | Lina       | Shanahan   | martin              | pass                                                         |        | http://2.bp.blogspot.com/-iaXdpAip50o/TVaA1dfkLKI/AAAAAAAAADI/Lc58jQMLQtw/s320/happy3.png                                                                       | Add quote..                                                             |            |            | 2015-09-02 05:37:35.28096  | 2015-09-02 05:37:35.28096  | 
  9 | Laurel     | Greenholt  | hannahirthe         | pass                                                         |        | http://2.bp.blogspot.com/-iaXdpAip50o/TVaA1dfkLKI/AAAAAAAAADI/Lc58jQMLQtw/s320/happy3.png                                                                       | Add quote..                                                             |            |            | 2015-09-02 05:37:35.286482 | 2015-09-02 05:37:35.286482 | 
 10 | Victor     | Becker     | ingegerd_altenwerth | pass                                                         |        | https://lh3.googleusercontent.com/-jMRFTtoaM9I/U81C6LW8SMI/AAAAAAAABJU/6fI9fgRLVnQ/w426-h341/giving-hand.jpg                                                    | Add quote..                                                             |            |            | 2015-09-02 05:37:35.292822 | 2015-09-02 05:37:35.292822 | 
 11 | Devonte    | Borer      | ullabritt           | pass                                                         |        | http://2.bp.blogspot.com/-iaXdpAip50o/TVaA1dfkLKI/AAAAAAAAADI/Lc58jQMLQtw/s320/happy3.png                                                                       | Add quote..                                                             |            |            | 2015-09-02 05:37:35.298556 | 2015-09-02 05:37:35.298556 | 
 12 | guest      | guest      | guest               | $2a$10$ntdETJrdzHPwqEeq2Kqeme3DeU9zzi8mlz/WIUTWGWwX2ijs5vkpO |        | http://img03.deviantart.net/3e34/i/2011/227/8/c/epik_face_by_epikfaceplz-d46p2on.png                                                                            |                                                                         |            |            | 2015-09-03 14:48:22.145592 | 2015-09-03 14:49:26.494595 | 
 13 | Linda      | Marie      | lindaM              | $2a$10$wOlYIjTVHkHReXMlcpHNReLM/V4tMTaItnNKhuRKgc2gVwlaA9r6e |        | http://tremendouswallpapers.com/wp-content/uploads/2014/12/quaker-parrots-1920x1200.jpg                                                                         |                                                                         |            |            | 2015-09-04 18:01:33.644988 | 2015-09-10 04:28:42.886892 | 
 15 | Linda      | Gaiud    | codemom             | $2a$10$J..1/Kyx3isJTkAJv11bf.5/DYQccXBonf9ji6U4v/szYE3Dfm89S |        | https://www.denverlibrary.org/files/css_code.jpg                                                                                                                |                                                                         |            |            | 2015-09-08 01:59:28.34503  | 2015-09-10 04:31:01.938624 | 
  1 | admin      | admin      | admin               | $2a$10$os7EetTB/e.Lfarbvt/BFO1SW.SDC9tkaE5zlprvsmF1BaKniSWi6 |        | https://scontent-lga1-1.xx.fbcdn.net/hphotos-xfa1/v/t1.0-9/11119092_10206950218382306_4406697530463059534_n.jpg?oh=3b6578dc010d0ef918008fd5b96b2e18&oe=566808E1 | No one is useless in this world who lightens the burdens of another. \r+|            |            | 2015-09-02 05:37:35.146649 | 2015-09-12 02:52:15.04786  | t
    |            |            |                     |                                                              |        |                                                                                                                                                                 | - Charles Dickens                                                       |            |            |                            |                            | 
(13 rows)

由于某种原因,当我单击该用户名时,我没有将我带到该个人资料,而是收到一个错误,即尽管该页面显然存在于数据库中,但仍无法找到该页面。这是 url 在到达该路由时的样子:

https://boiling-stream-6729.herokuapp.com/users/1 

控制器非常标准:

def show
            @user = User.find(params[:id])
            @allContributions = Payment.where(user_id: @user.id).to_a
            @userContributions =[];
                @allContributions.each{|c| @userContributions << Project.find(c.project_id)}
            @allContributions
        end

我去的任何其他个人资料,我都没有这个问题,所以我只能得出结论,这是因为它已在数据库中向下移动。然而,我不明白这有什么关系,或者我应该怎么做。任何关于正在发生的事情以及做什么的意见都非常感谢!

【问题讨论】:

  • 您在 heroku 日志中看到的错误消息是什么?你应该先检查一下。正如我可以看到你的 show 方法做了很多事情,我确信有些事情失败了,因为它找不到一些相关的资源。您的 heroku 日志应该会告诉您这一点。
  • 它说它找不到一个 id 为 7 的项目。我猜它在那个时候坏了而不是用户的 id,我之前没有注意到。
  • 是的,所以它在这一行失败了:@allContributions.each{|c| @userContributions &lt;&lt; Project.find(c.project_id)}.
  • 逻辑应该进入你的控制器,你可以简单地检查c.project_id是否存在,然后执行:Project.find(c.project_id)否则不存在。
  • 谢谢!看起来删除已完成的项目不是要走的路,而是我应该以某种方式停用并存档它们,因为我需要稍后在用户历史记录的不同点引用它们并用于用户统计目的。学过的知识!哈哈!再次感谢!

标签: mysql ruby-on-rails heroku


【解决方案1】:

您应该首先检查您的heroku log。正如我所看到的,您的 show 方法正在做很多事情,我确信有些事情失败了,因为它找不到一些相关的资源。你的heroku log 应该告诉你。在这种情况下,最好先检查日志以查看确切的错误消息。

【讨论】:

  • @HolyMoly,除此之外,您还应该使用exception_notification 了解应用程序中发生的异常。因为他们总是来自奇怪的地方,所以跟踪到底是哪里出了问题是很有用的:D
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-23
  • 1970-01-01
  • 1970-01-01
  • 2021-04-22
相关资源
最近更新 更多