2012-09-11 66 views
1
r = Role.new(name: 'Admin') 
=> #<Role id: nil, name: "Admin"> 
p = r.privileges.build 
=> #<Privilege id: nil, role_id: nil> 
p.role 
=> nil 

Privilege具有取決於相關role的名字實例方法,並具有節約rp之前調用。運行上述代碼後調用它會引發undefined method `name' for nil:NilClass錯誤。調用一個新近實例相關聯的‘孩子’對象返回「.parent」‘無’

+4

你有保存角色嗎?有點混亂'r = Role.new(名稱:'Admin')''r.save'然後嘗試 – Amar

回答

0

那麼,關於:

p = r.privileges.build(role: r) 

爲了使它工作,你應該在attr_accessible列表啓用:role

相關問題