これが私の2つのモデルです。
class Article < ActiveRecord::Base
attr_accessible :content
has_many :comments
end
class Comment < ActiveRecord::Base
attr_accessible :content
belongs_to :article
end
そして、私はこのコードを使用してseed.rbにデータベースをシードしようとしています:
Article.create(
[{
content: "Hi! This is my first article!",
comments: [{content: "It sucks"}, {content: "Best article ever!"}]
}],
without_protection: true)
ただし、rake db:seedは次のエラーメッセージを表示します。
rake aborted!
Comment(#28467560) expected, got Hash(#13868840)
Tasks: TOP => db:seed
(See full trace by running task with --trace)
このようにデータベースをシードすることは可能ですか?
はいの場合、フォローアップの質問:いくつか検索しましたが、この種の(ネストされた?)一括割り当てを行うには、割り当てたい属性に「accepts_nested_attributes_for」を追加する必要があるようです。(おそらく、コメントモデルの'accepts_nested_attributes_for:article'のようなものです)
'without_protection:true'と同様にこれを許可する方法はありますか?データベースをシードするときに、この種の一括割り当てのみを受け入れたいからです。