Я развиваюсь в Ruby on Rails некоторое время, поэтому я совершенно смущен тем, почему это происходит. Я создал контроллер под названием ApiController, как вы можете видеть ниже.Ошибка при ошибке NoMethod в контроллере RoR
class ApiController < ActionController::Metal
def documentation
end
def request_manager
end
end
Вот маршруты, которые я установил для установки вида документации.
Rails.application.routes.draw do
root 'landing#home'
get 'api' => 'api#documentation'
end
Существует файл documentation.html.erb в папке апи, а также, но Независимо от того, что я делаю, я получаю следующее сообщение об ошибке.
Это не имеет никакого смысла для меня, почему это не правильно маршрутизации и имеет меня полностью сбит с толку.
В качестве побочного примечания контроллер посадки работает отлично и направляется на домашнюю страницу без проблем, так что это просто этот контроллер.
Это не ошибка маршрутизации, не могли бы вы показать нам след? – scorix
. Вы используете .each в представлении или где-то еще в некоторой переменной экземпляра. Я полагаю, что это nil означает, что он не получает никакого значения, поэтому каждый из них не работает, и он бросает ошибку. – Deep
На самом деле я только что понял. Оказывается, что ActionController :: Metal отключает функции, включая рендеринг, поэтому, когда вы пытаетесь сделать его рендером как обычный контроллер, он вызывает ошибку при загрузке, а ошибка находится где-то в файлах классов основного кода Ruby. Поэтому я не смог найти то, что было не так, пока я не посмотрел дополнительную документацию для контроллера Metal. – cmw2379