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を保存する前に呼び出す必要があります。上記のコードを実行した後に呼び出すと、エラーが発生します。rpundefined method `name' for nil:NilClass

4

1 に答える 1

0

では、どうでしょうか。

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

:roleこれを機能させるには、attr_accessibleリストで有効にしておく必要があります。

于 2012-09-11T12:34:27.800 に答える