我有一本模型书。它具有属性 - 名称、作者、价格。另外,我在网站上有货币转换器。我想根据用户选择的货币格式化价格。Ruby 有 number_to_currency 函数,但这不是我想要的,因为我需要特殊格式的价格(对于俄语,我们有:1 рубль、2 рубля、5 рублей)。因此,我将虚拟属性 price_formatted。
def price_formatted
case cookie[:currency]
when 'usd'
'<span>$'+price.to_s+'</span>'
when 'eur'
'<span>€'+price.to_s+'</span>'
else
'<span>'+price.to_s+'</span> '+Russian.p(price, 'рубля', 'рублей', 'рублей')
end
end
Russian.p 对数字进行俄语复数。错误是在 price_formatted 函数中未定义 cookie。
PS如果有另一种“正确”的方法可以使这件事起作用-请教我。