我想用 ruby 编写一个条件,如果没有用户图像,则显示默认图像,如果存在,则显示当前图像。
这是我的 index.html.slim 页面:
@product.reviews.each do |r|
a href="#"
= image_tag r.user.image_url :thumbnail`
最佳答案
我建议您在帮助器或模型中添加相关代码,以保持代码整洁。
辅助方法:
def user_avatar user
if user.image.present?
image_tag user.image_url :thumbnail
else
# Assuming you have a default.jpg in your assets folder
image_tag 'default.jpg'
end
end
查看页面:
@product.reviews.each do |r|
a href="#"
= user_avatar r.user
此外,从代码中我感觉您正在使用类似 paperclip 或 carrierwave 的库。
如果在回形针中是这样,您可以通过将此代码放入模型中来设置默认图像。
:default_url => "/assets/:style/missing_avatar.jpg"
如果您使用的是 carrierwave,请将此方法放在您的上传文件中。
def default_url
"/images/fallback/default.png"
end
关于ruby-on-rails - 如果图像不存在则显示默认用户图像(ruby on rails),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32002736/