복붙노트

[RUBY-ON-RAILS] 컨트롤러 사양 알 수없는 키워드 : ID

RUBY-ON-RAILS

컨트롤러 사양 알 수없는 키워드 : ID

나는 간단한 액션 쇼를

def show
  @field = Field.find_by(params[:id])
end

그리고 난 그것을 위해 쓰기 사양을 원하는

require 'spec_helper'

RSpec.describe FieldsController, type: :controller do

    let(:field) { create(:field) }

  it 'should show field' do
    get :show, id: field
    expect(response.status).to eq(200)
  end
end

그러나 나는 오류를 가지고있다

Failure/Error: get :show, id: field

 ArgumentError:
   unknown keyword: id

어떻게 그것을 해결하기 위해?

해결법

  1. ==============================

    1.새로운 API에 따르면,이 경우 키워드 인자, PARAMS를 사용한다 :

    새로운 API에 따르면,이 경우 키워드 인자, PARAMS를 사용한다 :

      it 'should show field' do
        get :show, params: { id: field.id }
        expect(response.status).to eq(200)
      end
    
  2. from https://stackoverflow.com/questions/43797133/controller-spec-unknown-keyword-id by cc-by-sa and MIT license