我正在使用Rails ActiveStorage。我希望每当附件的值(在我的情况下图像为null)然后将其替换为资产文件夹中存在的“abc.png”。)
这是我的model.rb文件的样子,但这段代码似乎不起作用。我正在寻找如何设置头像的默认/零值。
has_one_attached :avatar #bot icon
after_create_commit check_avatar(self)
def check_avatar(self)
if(!self.avatar.present?)
{
self.avatar = "abc.png"
}
end
答案 0 :(得分:2)
活动存储不提供回形针那样的默认选项,但是,如果图像为零,您可以编写方法来附加默认文件。您可以使用attach方法。
def image_nil
if !self.image?
user.image.attach(io: File.open('/path/to/file'), filename: 'file.pdf', content_type: 'image/jpeg')
end
end
您可以省略content_type,但是最好提供它,如果分析器无法做到这一点,您提供的内容类型将作为备用。
希望这会有所帮助!