ruby-on-rails – Rails中的DRYing视图(number_to_currency)

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Rails中的DRYing视图(number_to_currency)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的代码类似于:

number_to_currency(line_item.price,:unit =>“£”)

在各种模式中乱丢我的观点.由于我的应用程序仅以英镑(£)交易,所以我不应该将其移动到我的每个模型中,以便line_item.price返回字符串,因为它应该是(即number_to_currency(line_item.price,:unit ="“£”))和line_item.price是一样的,我在想这样做我应该:

def price
 number_to_currency(self.price,:unit => "£")
end

但这不行.如果模型中已经定义了价格,那么Rails会报告“堆栈级别太深”,当我将def价格改为def量时,那么它抱怨number_to_currency没有定义?

解决方法

number_to_currency是一个视图助手,因此它在模型中不可用.

您可以通过在application_helper.rb中定义自己的帮助来保存一些关键笔画(因此可用于所有视图).例如

def quid(price)
  number_to_currency(price,:unit => "£")
end

然后在视图中调用它:

quid(line_item.price)
原文链接:https://www.f2er.com/ruby/266807.html

猜你在找的Ruby相关文章