这似乎违反了MVC,所以我将解释我要做的事情:
我的模型调用API,API的URI取决于params散列。 (params哈希存储Rails应用程序的URL)。
我创建了一个模块混合到模型中(因为该模型与API调用无关),但还没有弄清楚如何将params引入模块。
如果可能的话,我想用params hash初始化模块,但不知道在哪里做。模型上的before_create
可以正常工作,但是在model.rb
文件中,它不知道参数。
答案 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