使用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