2009-08-25 77 views
6

我有型號FooBarBar有列foo_id。 當我打電話給Bar.foo_id我收到錯誤missing attribute: foo_id在主動錄像中缺少屬性

請記住,這不是一個未定義的方法錯誤,並且該列肯定在數據庫中。這有什麼共同的原因?

感謝

+0

你是如何加載你的酒吧? –

回答

35

可能它與你的找到方法有關嗎?比如你做的:在選擇一個發現:

Foo.find(:all, :select => "firstvar, secondvar") 

在這種情況下,你只能訪問firstvar和secondvar即使你有foo_id定義

希望它能幫助! =)

+1

我有default_scope:includes => [:model1,:model2]定義..相反,我使用了一個自定義範圍與所有需要包括。 –

+0

在我的情況下,問題是該對象已被緩存,並仍在使用沒有新屬性的舊版本。緩存清除後,事情按預期工作。 –

2

你叫

Bar.foo_id 

bar = Bar.new 
bar.foo_id 

除非你有一個類變量Bar,你需要看foo_id在酒吧的一個實例。我希望有所幫助。乾杯。