Dan*_*son 5 ruby-on-rails amazon-s3 rails-activestorage
我有一个带有has_one_attached :avatar, using 的用户模型ActiveStorage。头像是可选的,但当它不存在时,我想显示默认值。我将所有附件存储在 Amazon S3 上,并且更喜欢将默认附件存储在那里。
如果我也能够在默认头像上使用变体方法,我会更喜欢。
user.avatar.variant(resize: "100x100")
Run Code Online (Sandbox Code Playgroud)
关于如何实现这一目标有什么建议吗?我可以创建某种未链接到任何特定记录的默认附件,并在头像不存在时使用它吗?
Rut*_*ure -1
有两种方法,
在模型中使用这个,(假设您正在使用回形针宝石)
:default_url => "/assets/:style/missing.jpeg"
2.说明书
您必须添加如下辅助方法,
def avatar_check user
if user.avatar.image.present?
image_tag user.image_url :thumb
else
image_tag 'default.jpg'
end
end
Run Code Online (Sandbox Code Playgroud)
将 default.jpg 保存在资源中。
在下面的视图调用中,
User.all.each do |u|
= avatar_check u
Run Code Online (Sandbox Code Playgroud)
我不确定变量