Ruby on Rails:引用路由中的单例类动作

玛格塔

我试图使用Ruby on Rails处理一个类,以创建一个简单的控制器。从这个意义上说,我有一个单例,我需要引用它的路由。这怎么可能?

我收到的消息是:

找不到Test :: TestController的动作'foo'

控制器文件,位于“测试”文件夹中:

class Test::TestController < ApplicationController
    class << self
            def index
                    render json: {test:"Hello World!"}
            end
            def foo
                    render json: {response:"It works!"}
            end
    end
end

路由文件:

Rails.application.routes.draw do
    namespace 'test' do
            resources :test
    end
    get '/:id', to: 'test/test#foo'
end
最高

这是不可能的。而且它甚至不是一个好主意。

Rails控制器以请求和env的形式接受输入,其中包含服务器设置之类的内容以及中间件已填充为初始化参数的所有内容。它们不是像PHP这样的全局变量。

控制器本身的动作实际上并不接受任何参数。因此,即使您可以将动作声明为类方法,您也绝对没有上下文。它实际上非常无关紧要,因为您必须替换整个路由器层才能调用它。

Ruby甚至也没有真正的单例类。如果您想要无法实例化的对象,请使用模块(不,您不能使模块成为Rails中的控制器)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Ruby:单例类真的拥有匿名类吗?

来自分类Dev

ruby创建单例类的场景是什么

来自分类Dev

Ruby模块可以描述为单例类吗?

来自分类Dev

ruby创建单例类的场景是什么

来自分类Dev

Ruby:开放模块的单例

来自分类Dev

Java与Ruby的单例等效

来自分类Dev

Ruby on Rails,路由

来自分类Dev

Ruby On Rails动态路由

来自分类Dev

Ruby on Rails路由错误

来自分类Dev

为什么不能在Ruby的单例类定义中访问类实例变量?

来自分类Dev

Ruby on Rails发布请求路由

来自分类Dev

Ruby on Rails发布请求路由

来自分类Dev

Ruby on Rails:“显示”帐户路由

来自分类Dev

Ruby on Rails 中的路由错误

来自分类Dev

在Ruby中为单例类定义初始化是否有意义?

来自分类Dev

Ruby元类:为什么在定义单例方法时要使用三个?

来自分类Dev

在Ruby中,术语“元类”,“本征类”和“单例类”是否完全同义和可替代?

来自分类Dev

Rails嵌套的单例路由

来自分类Dev

Ruby on Rails与类变量混淆

来自分类Dev

Ruby On Rails中的类列表

来自分类Dev

没有动作的表单Ruby on Rails

来自分类Dev

Ruby on Rails 4:模态新动作

来自分类Dev

Ruby TrueClass单管道

来自分类Dev

ruby on rails没有路由错误

来自分类Dev

Ruby on Rails Devise编辑注册路由错误

来自分类Dev

在Ruby on Rails的根路由上设置参数

来自分类Dev

Ruby-on-Rails投票部分路由

来自分类Dev

如何推迟 Ruby on Rails 路由的处理?

来自分类Dev

Ruby on Rails - 嵌套路由集合