Try this

 Factory.define :article do |f|
    f.title "Hello, world"
    f.comments {|comments| [comments.association(::comment)]}
  end

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

On Sep 3, 6:07 am, Satsou Sa <li...@ruby-forum.com> wrote:
> Hello,
>
> I have this kind of relation:
>
>   class Article < ActiveRecord::Base
>     has_many :comments
>   end
>
>   class Comment < ActiveRecord::Base
>     belongs_to :article
>     attr_protected :article_id
>   end
>
> The default scenario inside controllers looks like:
>
>   @article = Article.create(:title => "foobar")
>   @comment = @article.comments.create(:content => "w00t")
>
> I had tried to write those factories:
>
>   Factory.define :article do |f|
>     f.title "Hello, world"
>   end
>
>   Factory.define :comment do |f|
>     f.content "Awesome!"
>     f.association :article
>   end
>
> But my syntax is not correct about the association. It's a little bit
> tricky because of the comment's article_id protected attribute. So I
> think this should be better if I declare the association inside the
> article factory, but I don't see how to process.
>
> Thanks for any help.
> --
> Posted viahttp://www.ruby-forum.com/.

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to rubyonrails-t...@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to