Rails: не поддерживается имя контроллера - PullRequest
0 голосов
/ 26 февраля 2019

Что не так с тем, как я назвал мои маршруты?

Нужно ли мне изменить структуру папок и имя модуля на

:car_registration

/app/controllers/car_registration/steps_controller.rb

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

Маршруты

  scope module: 'CarRegistration' do
    resources :steps
  end

Контроллер

/ app / controllers / CarRegistration / steps_controller.rb

module CarRegistration
  class StepsController < ApplicationController
    include Wicked::Wizard
    steps :step1, :step2, step3

    def show
      @form_object_model ||= form_object_model_for_step(step)
      render_wizard
    end

    def update
      @form_object_model = form_object_model_for_step(step)
      render_wizard @form_object_model
    end

    private

    def form_object_model_for_step(step)
      "CarRegistration::#{step.camelize}".constantize.new      
    end

  end
end

ОШИБКА

«CarRegistration / steps» не поддерживается именем контроллера.Это может привести к потенциальным проблемам маршрутизации.См. http://guides.rubyonrails.org/routing.html#specifying-a-controller-to-use (ArgumentError)

1 Ответ

0 голосов
/ 26 февраля 2019

Похоже, у вас есть как минимум две проблемы.Вы используете структуру папок, например:

app/controllers/CarRegistration/steps_controller.rb

Это нетрадиционно.Вместо этого оно должно быть:

app/controllers/car_registration/steps_controller.rb

Тогда ваши маршруты должны выглядеть следующим образом:

scope module: :car_registration do 
  resources :steps
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...