在Rails中为模型访问params哈希的最佳方法是什么?

时间:2012-12-23 01:22:03

标签: ruby-on-rails ruby api model-view-controller params

这似乎违反了MVC,所以我将解释我要做的事情:

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

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

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

1 个答案:

答案 0 :(得分:3)

根据您的需求结合想法:

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

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