0
我有一個公寓類叫做籤的attr_accessor(不需要在DB被保存)attr_accessor一類返回nil在關聯類
class Apartment < ActiveRecord::Base
attr_accessible :checkin
attr_accessor :checkin
has_many :rooms
has_many :beds through: rooms
end
在我的控制器中我設置簽入的值
def show
@apartment.update_attributes(checkin: session[:checkin])
end
當頁面呈現我打電話牀的方法,該方法嘗試訪問self.room.apartment.checkin
但我得到零值
這方法在apartment中被調用。我已經打電話了,當我在公寓模型裏時,checkin變量有一個值。 爲什麼我從牀上打電話時得不到零? 感謝所有的幫手!
我明白了。所以我應該把它作爲參數從Apartment中的方法調用牀上的方法。謝謝 –
等一下,我有點困惑..這是同一間公寓,但它不是同一個實例?請求之間不要attr_accessors持續? –
不,他們不會 - 這將需要持久性。在上面對'show'控制器方法的每個請求中,Rails從數據庫加載所請求的Apartment new,並將其放入'@ apartment'實例變量中。沒有在數據庫中保存的所有內容都將丟失。 – janfoeh