Ich habe einfache Action-Show
def show
@field = Field.find_by(params[:id])
end
und ich möchte eine Spezifikation dafür schreiben
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
aber ich habe einen fehler
Failure/Error: get :show, id: field
ArgumentError:
unknown keyword: id
Wie man es repariert?
HTTP-Anforderungsmethoden akzeptieren nur die folgenden Schlüsselwortargumente
params, headers, env, xhr, format
Gemäß der neuen API sollten Sie in diesem Fall die Schlüsselwortargumente params
verwenden:
it 'should show field' do
get :show, params: { id: field.id }
expect(response.status).to eq(200)
end