使用Ruby 1.9構建Rails 3.2應用程序。 我想寫一個幫助器方法,初始化3個變量,當我嘗試從我的視圖調用初始化變量時,我得到一個「未定義的方法」錯誤。在Rails中調用初始化變量時出錯
方法幫助程序文件
module StoreHelper
class Status
def initialize(product)
product_sales = product.line_items.total_product_sale.sum("quantity")
#avoid nil class errors for vol2 and 3. volume 1 can never be nil
if product.volume2.nil?
product.volume2 = 0
end
if product.volume3.nil?
product.volume3 = 0
end
#Promo status logic
if (product_sales >= product.volume2) && (product_sales < product.volume3)
@level3_status = "Active"
@level2_status = "On!"
@level1_status = "On!"
elsif (product_sales >= product.volume3)
@level3_status = "On!"
@level2_status = "On!"
@level1_status = "On!"
else @level3_status = "Pending"
end
end
我再嘗試調用初始化變量@ level3_status像這樣
<%=level3_status (product)%>
不知道我做錯了任何幫助,將不勝感激。
對不起,如果這是一個愚蠢的問題,我只有編程,Ruby或任何其他語言的事情,現在約3個月。不知道你的意思是通過創建一個新的類的實例,我沒有看到任何關於linke的東西。你能進一步解釋嗎? – Renegade
我更新了我的答案,讓我知道如果我不正確,我的直覺你真的想要什麼:) – Mattherick
你的假設是現貨,你的解決方案幫助。謝謝! – Renegade