我有一个带有名为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变量有一个值。 为什么我在床上打电话时会变零? 感谢所有帮助者!
答案 0 :(得分:0)
你说你是从bed
调用它 - 就像bed.apartment.checkin
?
如果确实如此,那就是您的问题:您只在实例变量checkin
中保存的Apartment实例上设置@apartment
。那个与您通过bed.apartment.checkin
收到的实例不同。