Company
モデルhas_many
Users
belongs_to
Company
があります。また、私が避けたい外部サービスを呼び出すCompany
モデルのコールバックもあります。私はlinterでFactoryGirlを設定しようとしていますが、それはエラーを投げつけ続けます。ネストされた属性とレールを持つ工場ガールエラー5
はここで、コントローラがどのように見えるかです:
class CompanyController < ApplicationController
...
def new
@company = Company.new
@user = @company.users.build
end
def create
@company = Company.new(company_params)
@user = @company.users.first
...
end
...
end
コントローラは、ローカルホストと生産の上で正常に動作するので、コードの機能と必ずしも全く問題はありません - それは私がいるの試験問題です。
私はこれらの線に沿って工場を作成しようとしていますが:
FactoryGirl.define do
factory :company do
name Faker::Company.name
association :user, strategy: :build
before(:create) do |company|
company.class.skip_callback(:create, :before, :my_callback)
end
end
factory :user do
email Faker::Internet.email
password "password"
password_confirmation "password
end
end
問題は、私は私ので、undefined method user=
を言ってbelongs_to
以来、ユーザーのためのcompany must exist
が必要であることを言って、エラーや会社のためのエラーを取得するということです複数のユーザーを構築しようとしています。また、コールバックをスキップしないようにする多くのバリエーションを試しました(ユーザーファクトリでの会社の作成など)。
このタイプのコントローラ設定と互換性のある方法でファクトリを構築する方法を知っている人や、ネストされた属性を持たないコントローラを構築する方法が異なる場合は、
ありがとうございました!