我有两张桌子:人口统计和种族。每个人口需要有一个种族。我为种族id在人口统计表中创建了外键。
以下是模型:

class Demographic < ActiveRecord::Base
  has_one :race
end

class Race < ActiveRecord::Base
  belongs_to :demographic
end

视图正确地从races表中提取了一个比赛列表。
我想问题出在我的人口统计控制器上。请查看此错误图像中的代码:
error http://www.imageurlhost.com/images/bywqencxhmpjtx02laji.png
奇怪的是@demographic['race_id']总是在转储有值的情况下重新运行nil。
钢轨=v4.0.2
红宝石=2.0.0版
psql=v9.1版

最佳答案

这是因为,正如你所说,@demographic['race_id']就是nil。这将导致下面的代码'Demographic was successfully updated' + nil,如果您尝试使用irb,它将以同样的方式失败。它期望一个字符串连接起来,而不是得到nil。你可以像这样解决这个问题。你还需要找出为什么总是零,也许你打算打电话给'Demographic was successfully updated' + tmp.to_s

10-04 10:09