【问题标题】:Uninistialized Controller in RailsRails 中未初始化的控制器
【发布时间】:2017-12-30 10:05:15
【问题描述】:

我对 Rails 还很陌生,现在我很乐意为您提供帮助。我的应用程序找不到它应该使用的控制器(错误消息:未初始化的控制器)

我有以下路线

get 'order/shipped/:id', to: 'orderstats#shipped', as: :order_shipped
get 'order/paid/:id', to: 'orderstats#paid', as: :order_paid
get 'order/status/:id/open', to: 'orderstats#shipping_status_open!', as: :status_change_open
get 'order/status/:id/complete', to: 'orderstats#shipping_status_complete!', as: :status_change_complete

此外,我在 app/controllers 文件夹中创建了以下控制器,名称为 order_stats_controller.rb

class OrderStatsController < ApplicationController
...
end

但每次我运行应用程序时都会收到以下消息:uninitialized constant OrderstatsController。我错过了什么?

更改为:“OrderStatus#shipped”无效。启动 Rails 时,我会收到以下消息:

.../.rvm/gems/ruby-2.3.1/gems/actionpack-5.0.0.1/lib/action_dispatch/routing/mapper.rb:313:in `block (2 levels) in check_controller_and_action': ' OrderStats' 不是受支持的控制器名称。这可能导致潜在的路由问题。见http://guides.rubyonrails.org/routing.html#specifying-a-controller-to-use (ArgumentError)

【问题讨论】:

  • 让我们尝试下面给出的解决方案,并让我知道以获得进一步的指导。

标签: ruby-on-rails controller routes


【解决方案1】:

你的控制器名称应该是order_stats(文件名)在路由中

get 'order/shipped/:id', to: 'order_stats#shipped', as: :order_shipped
get 'order/paid/:id', to: 'order_stats#paid', as: :order_paid
get 'order/status/:id/open', to: 'order_stats#shipping_status_open!', as: :status_change_open
get 'order/status/:id/complete', to: 'order_stats#shipping_status_complete!', as: :status_change_complete

【讨论】:

    猜你喜欢
    • 2013-11-18
    • 1970-01-01
    • 2018-03-27
    • 2015-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多