Я пытаюсь создать базовое приложение Rails/React, которое принимает ряд пользовательских входов, а затем отображает их на экране в шаблоне письма (думаю, MadLibs.) Я следил за несколькими реакциями и у меня есть приличный опыт работы с Rails, но я получил потрясающе зависающий API, который я создал. Для контекста я использую этот tutorial here в качестве руководства, но создаю собственное приложение.Rails: NoMethodError Неопределенный метод
Это мой маршруты файл:
Rails.application.routes.draw do
root to: 'site#index'
namespace :api do
namespace :v1 do
resources :letters, only: [:index, :create]
end
end
end
Это мой base_controller.rb файл:
class Api::V1::BaseController < ApplicationController
respond_to :json
end
и это мой letters_controller.rb файл:
class Api::V1::LettersController < Api::V1::BaseController
def index
respond_with Letter.all
end
def create
respond_with :api, :v1, Letter.create(letter_params)
end
private
def letter_params
params.require(:letter).permit(:id, :param_one, :param_two)
end
end
Контроллер файлы хранятся в контроллерах/api/v1, и это отражено в файле маршрутов. Я могу использовать индексный метод без проблем и получить все объекты Letter для отображения. Я могу использовать метод create несколько, поскольку новое письмо создается и сохраняется в базе данных (sqlite btw.) Проблема возникает с ответом, так как в нем нет ни одного. Вместо того, чтобы ответ возвращается на мой призыв AJAX я получаю следующее:
NoMethodError (undefined method `api_v1_letter_url' for #<Api::V1::LettersController:0x007f3085f1d300>):
app/controllers/api/v1/letters_controller.rb:7:in `create'
У меня нет землистой идеи, почему это не работает. Из всего, что я читал, подавая ответ response_with, параметры, которые у меня есть, должны привести к возврату возвращаемого URL-адреса и вернуться с ответом. Вместо этого я получаю этот странный 500.
У меня никогда не было так много проблем с программой, что раньше мне давали мигрень. Если кто-то может помочь, он будет очень признателен.
что позаботилась о нем, очень обязан. –