我在ProductDecorator
中有这样的代码。
link = if price.present?
h.link_to self do
h.number_to_currency(price, precision: 0)
end
end
link ||= '-'
如果没有链接,我可以写:
price.present? ? h.number_to_currency(price, precision: 0) : '-'
带有链接标记的代码似乎有点多余。有没有更好的方法来编写带链接标记的代码?
答案 0 :(得分:0)
如何使用link_to_if
?
我认为它会像:
link = h.link_to_if(price.present?, h.number_to_currency(price, precision: 0), self) do
"-"
end
如果你的装饰师有价格助手方法,你可以进一步清理它。
def display_price
h.number_to_currency(price, precision: 0)
end
def link_to_price # or whatever you've called that method
link_to_if(price.present?, display_price, self) do
"-"
end
end