0

这似乎违反了 MVC,所以我将解释我正在尝试做的事情:

我的模型调用 API,API 的 URI 取决于 params 哈希。(params 哈希存储 Rails 应用程序的 URL)。

我创建了一个模块来混合到模型中(因为模型与 API 调用无关),但还没有弄清楚如何将参数放入模块中。

如果可能的话,我想用 params 哈希初始化模块,但不知道在哪里做。before_create在模型上可以工作,但那是在model.rb不知道参数的文件中。

4

1 回答 1

4

几个想法,取决于你的需要:

如果参数变化很大,则在每次调用时将参数传递给模型。你可以做一个类方法或实例方法 -

Model.api_call params[:field]
@model.api_call params[:field]

将参数保存为模型中的类变量:

Model.set_parameters(params)

def self.set_parameters(params)
  @@params = params
end

# access it in methods with @@params
于 2012-12-23T09:02:46.413 回答