在我的配置中>我有的路线:
#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 / functions中,无论你想要什么。在同一个文件中。再来3,工作真棒。在那里添加那个新人,动物园管理员只是不想工作我得到
未知行动
无法找到ServicesController
的操作'show_zookeeper'
函数zookeeperreindex几乎是同一文件中实际索引def的镜像,为了重新显示的需要而改变,因为我只想要一个JSON输出。但是底线是我改变了匹配的路线,我知道这个功能大部分都在工作,而且我没有看到我可能弄乱这个简单的地方,我也重新启动了服务器本身,以确保它不是该
修改 的
回复来自控制器的代码,顺便说一句“show_zookeeper”定义正确..我意识到我有一个错位的“结束”标签..所以,在移动路线工作。
答案 0 :(得分:2)
看起来像你的ServicesController
(app / controllers / services_controller.rb)
您永远不会定义方法show_zookeeper
。我的猜测是你定义了一个方法zookeeperreindex
而不是show_zookeeper
。
为什么不链接该文件的内容?你应该看到类似的东西,
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
=>
确定控制器和操作后路径的工作方式。例如,“services #start_single_service”将映射到:controller => ServicesController
和:action => start_single_service
。
因此,最终通话将是ServicesController.start_single_service