Я работаю над веб-сервером в Rails.Моя Article
модель в основном является оболочкой, которая делегирует большинство методов самой последней ArticleVersion
.При написании фабрик FactoryGirl я пытался создать фабрику: article_with_version, которая генерирует Article
и дает ей версию, но я не уверен, как перенаправить параметры с фабрики Article
на ArticleVersion
.
Вот соответствующий код:
class Article < ActiveRecord::Base
has_many :versions, :class_name => "ArticleVersion"
def title
self.versions.last.title
end # method title
def contents
self.versions.last.contents
end # method contents
end # model Article
FactoryGirl.define do
factory :article_version do; end
factory :article do; end
factory :article_with_version, :parent => :article do
after_create do |article|
article.versions << Factory(:article_version, :article_id => article.id)
end # after_create
end # factory :article_with_version
end # FactoryGirl.define
То, что я хотел бы сделать, это позвонить Factory(:article_with_version, :title => "The Grid", :contents => "<h1>Greetings, programs!</h1>")
и заставить FactoryGirl передать эти параметры: title и: contents нановый ArticleVersion
(или ноль, если таковые опущены).Есть ли способ получить доступ к тому хэшу динамических параметров, которые передаются во время Factory.create ()?