次の問題が発生しました:私のアプリケーションでは、継承を使用してユーザーモデルを定義しています:
class User
include Mongoid::Document
field :name...
field :bla...
end
class CustomUser < User
field :customuserfield...
end
このクラスのヒエラルキーを仕様にマッピングするためのファクトリを作成するにはどうすればよいですか。そして、繰り返してはいけません。
FactoryGirl.define do
factory :user do
name "name"
bla "bla"
factory :custom_user do
customfield "customfield"
end
end
end
クラスも「ユーザー」であるため、これは私には機能しません。 「ユーザー」では、カスタムフィールドがここで定義されていないため、無効なエラーが発生しました。そのようなものを緩和するための良い習慣、方法、または方法はありますか?.
あなたはこれを試すことができます:
factory :user do
name "name"
bla "bla"
end
factory :custom_user, class: CustomUser, parent: :user do
customfield "customfield"
end
詳細情報: 継承 。
クラス:CustomUserを:custom_userファクトリに追加するだけです。それは私にとってはうまくいきます。 :userにネストすると、親がUserであることを意味しますが、より単純です。
FactoryGirl.define do
factory :user do
name "name"
bla "bla"
factory :custom_user, class: CustomUser do
customfield "customfield"
end
end
end