2011-10-25 33 views
0

我有一個模型before_save方法,使一些計算有兩個屬性,當我submmit我的形式,我得到了錯誤:形式傳遞字符串,而不是浮動

TypeError in AntropometricasController#create 

can't convert String into Integer 

我使用Ruby 1.9.2和軌道3.0.9

編輯:通過在創建行動移除before_save和運行方法解決了這個問題(不知道它是正確的):

@evaluation.calc_imc(@evaluation.value1.to_f,@evaluation.value2.to_f) 

在我的模型的方法是:

attr_accessor :imc 
def calc_imc(value1,value2) 
    imc = value1/(value2*value2) 
end 

但我的evaluation.imc爲零。我想在視圖上顯示這個值,我做錯了什麼?

UPDATE:解決我的問題,我是用@evaluation.calc_imc(@evaluation.value1.to_f,@evaluation.value2.to_f),剛剛搬到這個視圖和它的工作

+2

褲子,告訴我們你的代碼寶寶 – Anonymous

+0

數據不足。無法確定您設置的位置以及檢查位置等。正如danontheline所說,需要查看一些上下文的代碼。 – lurker

回答

0

看來有價值的IMC該轉讓可以定義的,而不是給object`s價值分配局部變量屬性。

只是self.imc = value1/(value2*value2)替換imc = value1/(value2*value2)

def calc_imc(value1,value2) 
    self.imc = value1/(value2*value2) 
end 
+0

不,即使使用self.imc也沒有任何價值 –

相關問題