0

私はキャッチ22の状況にあります。

  1. ユーザーの「role」属性を一括割り当ての問題から保護する必要がある場合は、attr_accessibleを使用して除外する必要があります。
  2. ただし、管理者に設定を許可する必要がある場合は、assign_attributesを使用して:as =>:adminを追加する必要があります。
  3. ただし、デフォルトの役割を設定する必要がある場合、db:seedは機能しません。

3つのニーズすべてを達成する方法はありますか?

ありがとうございました。

4

1 に答える 1

0

大量割り当てにはいくつかの方法がありますが、私はあまり好きではありません。

例えば:

role = Role.new
role.assign_attributes({...}, :without_protection => true)
role.save

私は、「sudo」特権を与えるsudo_attributesという、私が作成した gem を使用することを好みます。

Role.sudo_create(...)

API は、モデルを作成およびインスタンス化するための ActiveRecord のものと同じです。

于 2012-07-18T01:51:12.670 に答える