Сильно ли изменился синтаксис маршрутизации в Rails 5.2? - PullRequest
0 голосов
/ 14 марта 2019

Не играл с Rails один год.

Я просто хочу создать вложенный API, выполнив это, и получил исключение неопределенного метода namespace. Я уверен, что это работало на Rail4 и 5.1

ActionController::RoutingError (uninitialized constant Api::V1::CalculationRecordsController):

route.rb

Rails.application.routes.draw do
  # resources :controllers
  # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
  namespace :api do
    namespace :v1, defaults: {format: 'json'} do
      resources :calculation_records
    end
  end
end

Контроллер

    class Api::V1::CalculationRecordController < ApplicationController
      def index
        @records = CalculationRecord.all
      end
    end

enter image description here

Я буду удивлен, если Rails больше не использует этот синтаксис LOL

Ответы [ 2 ]

1 голос
/ 14 марта 2019
class Api::V1::CalculationRecordController < ApplicationController

Убедитесь, что имя файла контроллера имеет тип account_records_controller.rb и измените class Api::V1::CalculationRecordController на class Api::V1::CalculationRecordsController

0 голосов
/ 14 марта 2019
module Api::V1
  class FilesController < ApplicationController
    def index
        render json: {message: "files"}
    end
  end
end

или

class Api::V1::FilesController < ApplicationController
  def index
    @records = render json: {message: "files"}
  end
end

и внутри маршрутов

resources :files, only: [:index]

Убедитесь, что вы поддерживаете точное имя контроллера

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...