設置對象我在Rails的3.2一類我們稱之爲富稱爲酒吧(均爲ActiveRecords)另一類是HAS_ONE像這樣:訪問和使用Rails的ActiveRecord的
class Bar < ActiveRecord::Base
attr_accessible :name
end
class Foo < ActiveRecord::Base
has_one :bar
def bar_name
if bar
bar.name
else
nil
end
end
當我打電話bar_name我得到一個MySQL錯誤,像這樣:
ActiveRecord::StatementInvalid: Mysql2::Error: Unknown column 'bar.foo_id' in
'where clause': SELECT `bar`.* FROM `bar` WHERE `bar`.`foo_id` = 1 LIMIT 1
我的問題是,爲什麼是Rails的嘗試選擇由Foo的ID欄時,我顯然希望通過bar_id的Foo的屬性欄。
請讓我知道這是否需要更多的解釋。
呃......那個工作,但措辭似乎有點反直覺,我在數據庫中考慮富'has_one'鍵引用欄和酒吧沒有foo的知識。無論如何,謝謝:) – onetwopunch