Rails了解活动记录关联

时间:2016-02-23 09:15:55

标签: ruby-on-rails activerecord associations

我有理解Active Record Association的问题。我有以下

<%= feed_item.spot.inspect %>

给出了以下输出

#<Spot id: 18, name: "XX", city: "XX", created_at: "2016-02-22 22:30:00", updated_at: "2016-02-22 22:30:00">

编辑:

我想得到当场的名字(XX)?

<%= feed_item.spot.name %>

似乎不起作用。我该怎么办?

1 个答案:

答案 0 :(得分:3)

您收到此错误的原因是spotnil。如果您允许spotnil,则应先测试该值。

<%= feed_item.spot.name if feed_item.spot.present? %>

如果不允许nil向您的feed_item模型添加状态验证器。

class YourModel < ActiveRecord::Base
  validates_presence_of :spot_id
end

通过它,您可以确保spot在新数据库中永远不会nil