0

アソシエーションによって別のモデル(:query)にhas_many関連付けられているモデルの属性(:test)への読み取り専用アクセスが必要です。

新しい:queryを作成して関連付けると、関連付けられた:testオブジェクトを保存できますが、 `before_create'メソッドでその関連付けられた:testの属性を操作できません。

APIドキュメントで読んでいることから、関連付けメソッド()を使用して「whatever」属性を使用できるはず@test = @query.test.whateverですが、そのコードを実行しようとすると、次のエラーが発生しますprivate method 'test' called for nil:NilClass

:queryは、belongs_to関係の:testに関連しています。

@test = @ query.test.buildを試して、メソッドでテストオブジェクトをインスタンス化しましたが、それも機能しません。

4

1 に答える 1

1

名前が衝突しただけです。Rubyのすべてのオブジェクトには、プライベートメソッドがありtestます。

于 2012-04-15T17:20:58.977 に答える