我有两张桌子:人口统计和种族。每个人口需要有一个种族。我为种族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
?