Controller spec unknown keyword: id
24,103
HTTP request methods will accept only the following keyword arguments
params, headers, env, xhr, format
According to the new API, you should use keyword arguments, params
in this case:
it 'should show field' do
get :show, params: { id: field.id }
expect(response.status).to eq(200)
end
Author by
user
Updated on July 05, 2022Comments
-
user almost 2 years
I have simple action show
def show @field = Field.find_by(params[:id]) end
and i want write spec for it
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
but I have got an error
Failure/Error: get :show, id: field ArgumentError: unknown keyword: id
How to fix it?
-
mahi-man almost 7 yearsI had this error start appearing after upgrading from Rails 4.2 to Rails 5.1 and this fixed it - thanks!
-
starfry about 6 yearsLife Saver :) But where is this new API defined? I found this mention but it would be good to see where/when/why this change happened (if you know!)
-
Humayun Naseer over 3 yearsbut in rails 6 im getting no routes matches