0

ドキュメントから、モデルがある場合は次のことがわかります。

User has_many Addresses

私がこれを行うことができること:

class User < AR::Base

  attr_accessible :addresses_attributes
  accepts_nested_attributes_for :addresses

end

Userからこれらの属性を設定できるはずです。しかし、私はできません。アドレスモデルに「attr_accessible」コールアウトも追加する必要がありますか?

4

1 に答える 1

1

はい、アドレスモデルにもattr_accessibleを設定する必要があります。

ActiveRecordが属性のハッシュを使用してインスタンスを初期化する場合、attr_accessibleによってマークされていない属性がハッシュキーの一部である場合、例外がスローされます。アソシエーションでは、ActiveRecordオブジェクトは属性のハッシュで初期化されるため、attr_accessibleを使用してAddressモデル内にそれらの属性を記述することから逃れることはできません。

于 2012-09-04T21:04:17.680 に答える