【问题标题】:ActionController::RoutingError (uninitialized constant)ActionController::RoutingError(未初始化的常量)
【发布时间】:2014-10-27 13:35:07
【问题描述】:

我的道路有问题,我不明白他为什么告诉我“Dashboard::TasksController” 因为在我的控制器文件中包含文件 dashbaord/tasks.rb

class TasksController < ApplicationController

def add_task
    @t = "test"
end

结束

在我的配置/路由文件中我做了这个

match '/dashboard/add-task' => "dashboard/tasks#add_task", via: [:get, :post]

在文件夹视图视图/dashbaord/tasks/add_task.html.erb

所以我没有看到或者是我的错误。

谢谢

【问题讨论】:

  • 您引用您的TasksController,就好像它的命名空间是Dashboard。是吗?
  • 这是因为你把它路由到了那里:'dashboard/tasks#add_task' 如果你会做'tasks#add_task'那么它会寻找TasksController 你想要完成什么?只需添加这个路线?
  • 0 否决票接受 在我的情况下,我有一个仪表板控制器和文件夹中的文件我有我的控制器 tasks.rb 给出: /controllers/dashboard/tasks.rb ,我要去工作我的方式是:/dashboard/add-Task 年在我的 routes.rb 文件中我把这个:匹配'/dashboard/add-task' => "dashboard/tasks#add_task" via:[:get,:post]

标签: ruby-on-rails routes


【解决方案1】:

首先,您的控制器文件应命名为tasks_controller.rb。 其次,你的TasksController 应该是命名空间:

class Dashboard::TasksController < ApplicationController
  # content
end

【讨论】:

    【解决方案2】:

    就我而言,我没有使用 Rails CLI 生成控制器,因此我输入了错误的文件名...

    【讨论】:

      猜你喜欢
      • 2018-09-04
      • 2013-08-25
      • 2016-01-16
      • 2016-01-19
      • 2017-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多