"неинициализированная константа Api :: V1 :: ReservationOptionsController :: ReservationOptions" - PullRequest
0 голосов
/ 27 января 2020

Я пытаюсь создать API, но я получаю сообщение об ошибке

"type": "NameError",
"message": "uninitialized constant Api::V1::ReservationOptionsController::ReservationOptions",

Не могу найти проблему здесь.

Код

маршруты

namespace :api, defaults: { format: :json } do
    namespace :v1 do
      resources :reservation_options, only: [:show, :create]
    end
end

контроллеры / api / v1 /servation_options_controller.rb

class Api::V1::ReservationOptionsController < Api::V1::BaseController
  acts_as_token_authentication_handler_for User, only: [:create]

  def show
    @reservation_option = ReservationOption.find(params[:id])
    @reservation = @reservation_option.reservation
    authorize @reservation_option
  end

  def create
    @user = current_user
    @reservation_option = ReservationOptions.new(reservation_option_params)
    authorize @reservation_option
    if @reservation_option.save
      render :show, status: :created
    else
      render_error
    end
  end

  private
  def reservation_option_params
    params.require(:reservation_option).permit(:option_id, :option_quantity, :reservation_id)
  end
end

Ответы [ 2 ]

2 голосов
/ 27 января 2020

У вас ошибка в действии create

def create
    @user = current_user
    # change this line
    # @reservation_option = ReservationOptions.new(reservation_option_params)
    @reservation_option = ReservationOption.new(reservation_option_params)
    authorize @reservation_option
    if @reservation_option.save
      render :show, status: :created
    else
      render_error
    end
  end


0 голосов
/ 27 января 2020

Похоже, ReservationOptions нигде не был определен, и вы используете его в controllers/api/v1/reservation_options_controller.rb.

Убедитесь, что вы правильно написали, или что у вас есть соответствующая модель в app/models/reservation_option.rb. Я предполагаю, что это должно быть ReservationOption, поскольку имена классов моделей Rails обычно единичны.

...