모델 생성시 null이 아닌 조건이 발생하지 않습니다. 내 생각에 매개 변수 해시에서 매개 변수를 제거하는 데 강력한 매개 변수가 필요합니다.Rspec 강력한 매개 변수가 매개 변수를 제거하는 중
RSpec에 코드 :
it "creates a new Provider" do
expect {
post :create, {:admin_provider => {:name => "foo bar"}}, valid_session
}.to change(Provider, :count).by(1)
end
컨트롤러 코드 :
def create
@admin_provider = Provider.new(okay_params)
respond_to do |format|
...Render Views
end
end
def okay_params
params.permit(:admin_provider).permit(:name)
end
출력 : "이름"매개 변수를 제거하기 위해 내 PARAMS에 무슨 일이 있었는지
Admin::ProvidersController POST create with valid params creates a new Provider
Failure/Error: post :create, {:admin_provider => {:name => "foo bar"}}, valid_session
ActiveRecord::StatementInvalid:
PG::NotNullViolation: ERROR: null value in column "name" violates not-null constraint
DETAIL: Failing row contains (225, null, null, null, t, null, null, null, null, null, null, null, null).
: INSERT INTO "providers" DEFAULT VALUES RETURNING "id"
? 나는 그것을 기호와 문자열로 시도했다. 하드 코딩 대신 let 블록으로 시도했습니다. 차이 없음. 매번 내 매개 변수를 제거하는 것처럼 보입니다. 내가 뭘 놓치고 있니?
'params.require (: admin_provider) .permit (: 이름)' – depa