使用 Ruby 1.9 构建 Rails 3.2 应用程序。我正在尝试编写一个初始化 3 个变量的辅助方法,当我尝试从我的视图中调用已初始化的变量时,我得到一个“未定义的方法”错误。
帮助文件中的方法
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)%>
不知道我做错了什么任何帮助将不胜感激。