Ruby on rails RubyonRails这条路线怎么不起作用

Ruby on rails RubyonRails这条路线怎么不起作用,ruby-on-rails,routes,Ruby On Rails,Routes,在我的配置>路线中,我有: #Service Routes match "services" => "services#index" match "startsingleservice" => "services#start_single_service" match "stopsingleservice" => "services#stop_single_service" match "zookeeperreindex" => "services#sho

在我的配置>路线中,我有:

#Service Routes
  match "services" => "services#index"
  match "startsingleservice" => "services#start_single_service"
  match "stopsingleservice" => "services#stop_single_service"
  match "zookeeperreindex" => "services#show_zookeeper"
前3项工作,没有问题,没有问题。这四个函数都在同一个文件def/函数中,不管你怎么称呼它们。在同一个文件中。第三,工作很棒。加上那个新来的家伙,动物园管理员就是不想工作

未知行为

找不到ServicesController的操作“show_zookeeper”

zookeeperreindex函数几乎是同一个文件中实际索引def的镜像,为重新显示的需要而更改,因为我只需要该文件的JSON输出。但底线是我更改了路由以匹配,我知道该功能在大部分情况下都在工作,我不认为我会把这种简单性搞砸,我还重新启动了服务器本身,以确保它不是这样

编辑


在回答控制器的代码时,顺便说一句,“show_zookeeper”的定义是正确的。。我意识到我的“结束”标签放错了地方。。因此,在移动过程中,路由起作用。

它看起来像是在您的
服务控制器中(app/controllers/services\u controller.rb)

您从不定义方法
show\u zookeeper
。我的猜测是您定义了一个方法
zookeeperreindex
,而不是
show\u zookeer

你为什么不把那个文件的内容链接起来?你应该看到一些类似的东西

class ServicesController < ActionController::Base
  def index
    ...
  end
  def start_single_service
    ...
  end
  def stop_single_service
    ...
  end


  def show_zookeeper # <---- This one is missing

  end
end
class-ServicesController
确定控制器和操作。例如,“服务#启动单一服务”将映射到
:controller=>ServicesController
,以及
:action=>启动单一服务

因此,最后的调用将是
ServicesController.start\u single\u service


查看了解更多信息

请粘贴服务控制器代码