我有型號Foo
和Bar
。 Bar
有列foo_id
。 當我打電話給Bar.foo_id
我收到錯誤missing attribute: foo_id
在主動錄像中缺少屬性
請記住,這不是一個未定義的方法錯誤,並且該列肯定在數據庫中。這有什麼共同的原因?
感謝
我有型號Foo
和Bar
。 Bar
有列foo_id
。 當我打電話給Bar.foo_id
我收到錯誤missing attribute: foo_id
在主動錄像中缺少屬性
請記住,這不是一個未定義的方法錯誤,並且該列肯定在數據庫中。這有什麼共同的原因?
感謝
可能它與你的找到方法有關嗎?比如你做的:在選擇一個發現:
Foo.find(:all, :select => "firstvar, secondvar")
在這種情況下,你只能訪問firstvar和secondvar即使你有foo_id定義
希望它能幫助! =)
我有default_scope:includes => [:model1,:model2]定義..相反,我使用了一個自定義範圍與所有需要包括。 –
在我的情況下,問題是該對象已被緩存,並仍在使用沒有新屬性的舊版本。緩存清除後,事情按預期工作。 –
你叫
Bar.foo_id
或
bar = Bar.new
bar.foo_id
除非你有一個類變量Bar
,你需要看foo_id
在酒吧的一個實例。我希望有所幫助。乾杯。
你是如何加載你的酒吧? –