Не удается обновить экземпляр из-за ошибки маршрутизации PATCH - PullRequest
0 голосов
/ 17 января 2020

Я пытаюсь обновить экземпляр игры, но я получаю сообщение об ошибке маршрутизации, хотя я предоставляю все ресурсы играм.

Started PATCH "/games" for ::1 at 2020-01-16 20:18:21 -0500
ActionController::RoutingError (No route matches [PATCH] "/games"):

Это мои маршруты.rb

Rails.application.routes.draw do
  resources :games
end

И это мой метод обновления в игровом контроллере

  def update
    game = Game.find_by(id: params[:id])

    if game.update(game_params)
      render json: { message: "Accepted initials." }
    else
      render json: { message: "Didn't accept initials" },
      status: :not_acceptable
    end
  end

  private

  def game_params
    params.require(:game).permit(
      :score,
      :initials,
      :total_calories
    )
  end

Если это поможет, это мой запрос на выборку PATCH

fetch("http://localhost:3000/games", {
      method: "PATCH",
      headers: {
        "Content-Type": "application/json",
        Accept: "application/json"
      },
      body: JSON.stringify({
        game: {
          score: this.props.state.currentGame.score,
          initials: this.state.initials,
          total_calories: this.props.state.currentGame.total_calories
        }
      })
    });

1 Ответ

1 голос
/ 17 января 2020

Ваш маршрут патча: 'http://localhost: 3000 / games /: id ', а не 'http://localhost: 3000 / games '. Так и должно быть ...

fetch("http://localhost:3000/games/" + "<find a way to get game id>", {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...