Я новичок в rails и создаю приложение Rails, которое будет функционировать как API. В настоящее время у меня нет моделей или базы данных, только контроллер Api::ProductController
:
class Api::ProductController < ApplicationController
def create
Rails.logger.info "product was created and the parameters are #{product_params[:name]}, #{product_params[:age]}"
end
private
def product_params
params.permit(:name, :age)
end
end
. По мере продолжения и написания запроса Rspec:
RSpec.describe Api::productsController, type: :request do
it "creates a product" do
post "/api/products", params: { name: "name", age: "22"}
expect(response).to have_http_status(:created)
expect(response.body).to include("product was successfully created.")
end
end
Но когда я запускаю запрос rspec в командной строке, я получаю следующую ошибку:
Failure/Error: expect(response).to have_http_status(:created)
expected the response to have status code :created (201) but it was :no_content (204)
Мой вопрос: как я могу установить код состояния: созданный (201)? Является ли метод Голова хорошим подходом? Любое решение или руководство будет оценено!