【发布时间】:2014-11-03 10:08:59
【问题描述】:
我刚刚将我正在开发的 Rails 应用程序部署到 Heroku - http://sports-site.herokuapp.com/。
这里是更新后的 GitHub -https://github.com/adamzerner/sports_site。
application-*.css和application-*.js在生产中都是空的,但 CSS 和 JS 在开发中可以完美运行。-
我访问的几乎每个页面(除了主页和疯狂的排名页面)都会给我一个 500 错误。日志几乎没有给我任何信息。以下是我得到的全部内容:
2014-09-09T21:34:09.019757+00:00 heroku[router]: at=info method=GET path="/spurs" host=pure-everglades-8286.herokuapp.com request_id=d6a0348f-db82-4519-844d-d85973c75413 fwd="67.86.210.96" dyno=web.1 connect=1ms service=11ms status=500 bytes=1002 2014-09-09T21:34:09.323769+00:00 heroku[router]: at=info method=GET path="/favicon.ico" host=pure-everglades-8286.herokuapp.com request_id=934ea050-cbab-4c26-b925-5bc5f2d16369 fwd="67.86.210.96" dyno=web.1 connect=1ms service=9ms status=500 bytes=858
我该如何解决这两个问题?
编辑:我认为这两个问题可能相关。当我打开 Chrome 的开发工具并转到资源选项卡时,它说:
Failed to load resource: the server responded with a status of 500 (Internal Server Error
下面
<link data-turbolinks-track="true" href="/assets/application-1babc5fe447a141359d73e5a3339663c.css" media="all" rel="stylesheet" />
和
<script data-turbolinks-track="true" src="/assets/application-f3556e3d9d239b5384897deb4b41e10f.js"></script>
编辑:
当我转到 http://sports-site.herokuapp.com/trailblazers/lamarcus_aldridge 时,我收到此错误。
undefined method `name' for nil:NilClass
参考这一行
<h1><%= @player.name %> <small><%= link_to "#{@player.team.location} #{@player.team.name}", "/#{@player.team.name.downcase}" %></small></h1>
我不明白为什么会这样。我不知道它是说player 是nil 还是team 是nil,但根据这个控制台输出似乎都不是:
`2.1.2 :001 > l = Player.where("name like ?", "%lamarcus_aldridge%")[0]
Player Load (14.8ms) SELECT "players".* FROM "players" WHERE (name like '%lamarcus_aldridge%')
=> #<Player id: 383, team_id: 29, position_id: 4, position_rank: 2, overall_rank: 6, analysis: "Star player.|\n\tGood size and strengt
.
.
.
2.1.2 :002 > l.name
=> "LaMarcus Aldridge"
2.1.2 :003 > l.team.name
Team Load (0.4ms) SELECT "teams".* FROM "teams" WHERE "teams"."id" = ? LIMIT 1 [["id", 29]]
=> "Trailblazers"`
【问题讨论】:
标签: ruby-on-rails heroku