Фабрика Девушка имеет много отношений (и защищенный атрибут) - PullRequest
3 голосов
/ 03 сентября 2010

У меня такая связь:

class Article < ActiveRecord::Base
  has_many :comments
end

class Comment < ActiveRecord::Base
  belongs_to :article
  attr_protected :article_id
end

Сценарий по умолчанию внутри контроллеров выглядит так:

@article = Article.create(:title => "foobar")
@comment = @article.comments.create(:content => "w00t")

Я пытался написать эти фабрики:

Factory.define :article do |f|
  f.title "Hello, world"
end

Factory.define :comment do |f|
  f.content "Awesome!"
  f.association :article
end

Но мой синтаксис неверен в отношении ассоциации.Это немного сложно из-за защищенного атрибута article_id комментария.Поэтому я думаю, что будет лучше, если я объявлю ассоциацию внутри фабрики статей, но я не вижу, как ее обрабатывать.

Спасибо за любую помощь.

1 Ответ

4 голосов
/ 03 сентября 2010

Вы должны сделать

Factory.define :comment do |f|
  f.content "Awesome!"
  f.article { |a| a.association(:article) }
end
...