Website.blueprint do
  theme
end

That's all you need.  As long as website belongs_to :theme and theme has many 
:websites

Mikel


On 24/07/2010, at 5:49 PM, Simon Russell wrote:

> I'm no expert, but looking at the docs, does:
> 
> Website.blueprint do
>  theme
> end
> 
> work?
> 
> Or failing that:
> 
> Website.blueprint do
>  theme { Theme.make }
> end
> 
> Or am I missing the point?
> 
> On Sat, Jul 24, 2010 at 11:42, cornflakesuperstar <[email protected]> 
> wrote:
>> Was just wondering, in factorygirl, you can factory up a model and get
>> it's dependent relationships for free if you set up your factories.rb
>> with the relationships.
>> 
>> How do you do this in machinist?
>> 
>> ie.
>> class Theme < ActiveRecord::Base
>>  validates_presence_of :name
>> end
>> 
>> class Website < ActiveRecord::Base
>>  belongs_to :theme
>>  validates_presence_of :theme
>> end
>> 
>> in factory girl:
>> Factory.define :theme do |f|
>>  f.name { "foo" }
>> end
>> 
>> Factory.define :website do |f|
>>  f.theme     { Factory(:theme) }
>> end
>> 
>>>> Factory(:website).theme.name
>>>> "foo"
>> 
>> in machinist:
>> Theme.blueprint do
>>  name  { "foo" }
>> end
>> 
>> Website.blueprint do
>> end
>> 
>>>> Website.make.theme.name
>> ActiveRecord::RecordInvalid: Validation failed: Theme can't be blank
>> 
>> This is what I have been using for a blueprint workaround but it's not
>> as succinct as the factorygirl way:
>>>> Website.make(:theme => Theme.make).theme.name
>>>> "foo"
>> 
>> --
>> You received this message because you are subscribed to the Google Groups 
>> "Ruby or Rails Oceania" group.
>> To post to this group, send email to [email protected].
>> To unsubscribe from this group, send email to 
>> [email protected].
>> For more options, visit this group at 
>> http://groups.google.com/group/rails-oceania?hl=en.
>> 
>> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Ruby or Rails Oceania" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at 
> http://groups.google.com/group/rails-oceania?hl=en.
> 

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
or Rails Oceania" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rails-oceania?hl=en.

Reply via email to