I have a two models. Both having validate_presence_of
.
class Company < ActiveRecord::Base
has_many :projects
validate_presence_of :projects
def save_projects(projects)
projects.each do |project|
project.company = self
project.save(:validate => false)
end
end
end
In method saving_projects(projects)
is called before saving company
in controller
. Means I am saving company
after the project
.
class Project < ActiveRecord::Base
belongs_to :company
validate_presence_of :company
end
These are my models.
I am saving projects
in model with validation => false
. So I want to write factory
for company
.
What I have tried:
factory :company do
name 'Test'
user
before_create do |company|
FactoryGirl.build(:project, :company => company)
end
end
And also tried this
factory :company do
name 'Test'
user
after_build do |company|
company.projects << FactoryGirl.build(:project, :company => company)
end
end
I am getting this error:
Failure/Error: company = FactoryGirl.build(:company, :user=>user,:name => "test")
NoMethodError:
undefined method `company=' for #<Project:0x000000106c3030>
Problem track: The problem with validate_presence_of
on both the model that causing issue.
Aucun commentaire:
Enregistrer un commentaire