2012-12-23 46 views
-1

這似乎是對MVC的違反,所以我會解釋我在做什麼:在Rails中給模型提供params hash的最佳方式是什麼?

我的模型調用API,並且API的URI取決於params散列。 (params散列存儲Rails應用程序的URL)。

我創建了一個模塊混合到模型中(因爲模型與API調用無關),但還沒有弄清楚如何將參數導入模塊。

如果可能,我想用params散列初始化模塊,但不知道該在哪裏做。該模型上的before_create會起作用,但這是在model.rb文件中不知道的參數。

+1

請通過發佈一些[正確的格式(HTTP改善你的問題://計算器.com/editing-help)你已經應用到這個問題的代碼。另外,請包含一份格式正確的**期望輸出樣本**,以便人們瞭解您嘗試實現的結果。 –

+1

不太明白你想要做什麼。例如,你沒有解釋爲什麼你不能只傳遞params散列或其中的一部分到控制器的模型(你經常在Rails中做的)。 – danneu

+0

爲什麼不將參數傳遞給方法? 'Model.method(params)' – ck3g

回答

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 
相關問題