一个类的attr_accessor在关联的类中返回nil

时间:2013-12-08 10:32:33

标签: ruby-on-rails attr-accessor

我有一个带有名为checkin的attr_accessor的公寓类(不需要保存在DB中)

class Apartment < ActiveRecord::Base
  attr_accessible :checkin
  attr_accessor :checkin

  has_many :rooms
  has_many :beds through: rooms
end

在我的控制器中,我设置了checkin的值

def show
  @apartment.update_attributes(checkin: session[:checkin])
end

当页面呈现时,我调用了一种试图访问self.room.apartment.checkin的床方法 但我得到零值

此方法由公寓中的方法调用。我已经调试了这个电话,当我在公寓模型中时,checkin变量有一个值。 为什么我在床上打电话时会变零? 感谢所有帮助者!

1 个答案:

答案 0 :(得分:0)

你说你是从bed调用它 - 就像bed.apartment.checkin

一样

如果确实如此,那就是您的问题:您只在实例变量checkin中保存的Apartment实例上设置@apartment。那个与您通过bed.apartment.checkin收到的实例不同。