繁体   English   中英

如何编写这种漂亮的方式?

[英]How to write this nifty way?rails

我认为我希望以更优雅的方式编写此代码。 你能帮助我吗?

<%= if category.photo.present?
    category.photo
    else 
    category.img_parse_url
end %>

category.photo可能为nil或为空字符串)

您可以使用@tadman指出的此处不需要的try方法,此外,正如您在下面的评论photo所写的那样,它可以是一个空字符串(我错误地认为它不能),因此,如果这两个版本将返回一个空字符串category.photo只是一个空字符串:

<= category.try(:photo) || category.img_parse_url %>

并且无需try

<= category.photo || category.img_parse_url %>

或将其移动到模型中。

编辑:

如果照片可以是空字符串,则可以使用三元运算符?

<%= category.photo.present? ? category.photo : category.img_parse_url %>

或使用在场方法:

<%= category.photo.presence || category.img_parse_url %>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM