web-dev-qa-db-ja.com

コントローラー仕様不明キーワード: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

修正方法は?

52
user

HTTPリクエストメソッドは、次のキーワード引数のみを受け入れます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
145
Зелёный