顯然我在這裏錯過了一些簡單的東西。這是我的兩個類和我打來的代碼。當我使用:include with find時,它會爆炸並在find行上給我一個NoMethodError。當我不使用:包括它工作得很好(但顯然沒有做加盟)使用時的NoMethodError:包含關聯的Rails 3與Active Record
稱爲碼
def index
@users = User.find(:all, :include => [:org])
end
類
class User < ActiveRecord::Base
belongs_to :org, :primary_key => :org_id
end
class Org < ActiveRecord::Base
#define primary key because it is not :id
#because this table is in an old db
#that can't be changed
set_primary_key :org_id
has_one :user
def full_name
"#{emp_fname} #{emp_lname}"
end
end
確切的錯誤
NoMethodError(當你沒有想到它時,你有一個零對象! 您可能預期了Array的一個實例。 評估nil.each時出現錯誤:
你的意思是用於組織有隻有一個用戶?組織和用戶之間是否存在1:1的關係?約定是主鍵被命名爲id。你爲什麼試圖使用org_id作爲org的主鍵? –
users表是新的,org表位於我們用於讀取的遺留數據庫中。相信我,如果可以的話,我會改變PK名稱。 – joekarl