Company
모델은 has_many
Users
입니다. belongs_to
은 Company
입니다. 또한 피하고 싶은 외부 서비스를 호출하는 Company
모델의 콜백이 있습니다. FactoryGirl을 linter로 설정하려고 시도하지만 오류가 계속 발생합니다.중첩 된 특성 및 레일스를 가진 공장 소녀 오류 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
이 필요 없다는 오류 및 회사에 대한 오류가 있다는 것입니다 여러 사용자를 만들려고 노력 중입니다. 또한 콜백을 건너 뛰지 않는 많은 다른 변형을 시도했습니다 (예 : 사용자 팩터에서 회사 생성).
이 유형의 컨트롤러 설정과 호환되는 방법으로 팩토리를 작성하는 방법을 알고 있거나 중첩 된 속성없이 컨트롤러를 작성해야하는 다른 방법이 있는지 알고 싶습니다.
미리 도움을 청하십시오!