1

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

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

两件事情:

  1. 我想将所有 api 调用(api_call 方法)放在模型中(不使用数据库或验证),但问题是我没有访问会话。
  2. 如果我使用模块,模型中的模块也无权访问会话。
  3. 如果我在不使用 ActiveRecord 的情况下创建模型类,我应该使用类方法而不是对象方法吗?
4

1 回答 1

1

将“身份验证哈希”传递给 API 模型的构造函数怎么样?

class Api
  def initialize auth
    @auth = auth
  end
end

class FooController < ApplicationController
  def index
    api = Api.new session[:auth]
  end
end

另外,如果你还没有看到Pratik Naik 的文章,那很有趣。

于 2012-08-18T02:18:28.930 回答