控制器规格未知关键字:id
Controller spec unknown keyword: 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
如何解决?
HTTP request methods will accept only the following keyword arguments
params, headers, env, xhr, format
根据新的 API,您应该使用关键字参数,params
在这种情况下:
it 'should show field' do
get :show, params: { id: field.id }
expect(response.status).to eq(200)
end
我有简单的动作表演
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
如何解决?
HTTP request methods will accept only the following keyword arguments
params, headers, env, xhr, format
根据新的 API,您应该使用关键字参数,params
在这种情况下:
it 'should show field' do
get :show, params: { id: field.id }
expect(response.status).to eq(200)
end