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
查看了解更多信息请粘贴服务控制器代码