Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
RubyonRails-外部API模型中的会话_Ruby_Api_Session_Model_External - Fatal编程技术网

RubyonRails-外部API模型中的会话

RubyonRails-外部API模型中的会话,ruby,api,session,model,external,Ruby,Api,Session,Model,External,我有一个没有模型或任何数据库连接的应用程序 我在ApplicationController中定义了一个名为“api_call”的方法,它执行应用程序中的所有api调用。此方法使用ruby会话存储有关用户的信息,例如身份验证信息、访问令牌信息和用户信息。在会话中,我存储了一个身份验证哈希,以便在用户登录时发送到api以确保安全 两件事: 我希望将所有api调用(api_调用方法)放在模型中(不使用db或验证),但问题是我没有访问会话 如果使用模块,模型中的模块也无法访问会话 如果我在不使用Acti

我有一个没有模型或任何数据库连接的应用程序

我在ApplicationController中定义了一个名为“api_call”的方法,它执行应用程序中的所有api调用。此方法使用ruby会话存储有关用户的信息,例如身份验证信息、访问令牌信息和用户信息。在会话中,我存储了一个身份验证哈希,以便在用户登录时发送到api以确保安全

两件事:

  • 我希望将所有api调用(api_调用方法)放在模型中(不使用db或验证),但问题是我没有访问会话
  • 如果使用模块,模型中的模块也无法访问会话
  • 如果我在不使用ActiveRecord的情况下创建模型类,我应该使用类方法而不是对象方法吗
  • 将“身份验证哈希”传递给API模型的构造函数如何

    class Api
      def initialize auth
        @auth = auth
      end
    end
    
    class FooController < ApplicationController
      def index
        api = Api.new session[:auth]
      end
    end
    
    类Api
    def初始化身份验证
    @auth=auth
    结束
    结束
    类FooController<应用程序控制器
    def索引
    api=api.new会话[:auth]
    结束
    结束
    
    另外,如果您还没有看到这一点,那就很有趣了。

    将“身份验证哈希”传递给API模型的构造函数如何

    class Api
      def initialize auth
        @auth = auth
      end
    end
    
    class FooController < ApplicationController
      def index
        api = Api.new session[:auth]
      end
    end
    
    类Api
    def初始化身份验证
    @auth=auth
    结束
    结束
    类FooController<应用程序控制器
    def索引
    api=api.new会话[:auth]
    结束
    结束
    

    另外,如果你还没有看到这篇文章,那也很有趣。

    那篇文章真是太史诗了。。。但我认为,因为我使用的是外部api,所以它不算数。。。它不是对ActiveRecord的扩展,它是模型调用工作所必需的。我喜欢你的回答,但我希望有更好的办法。还有,我应该使用类方法吗?那篇文章相当史诗。。。但我认为,因为我使用的是外部api,所以它不算数。。。它不是对ActiveRecord的扩展,它是模型调用工作所必需的。我喜欢你的回答,但我希望有更好的办法。另外,我应该使用类方法吗?