我命名路线的方式有什么问题?
我是否需要将文件夹结构和模块名称更改为
:car_registration
/app/controllers/car_registration/steps_controller.rb
如果可能的话,我更愿意使用我的格式。
scope module: 'CarRegistration' do
resources :steps
end
/app/controllers/car registration/steps_controller.日本
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)
看起来你至少有两个问题。您使用的文件夹结构如下:
app/controllers/CarRegistration/steps_controller.rb
这是非常规的。相反,它应该是:
app/controllers/car_registration/steps_controller.rb
然后,您的路线应如下所示:
scope module: :car_registration do
resources :steps
end