gpt4 book ai didi

ruby-on-rails - 默认个人资料图片图片助手

转载 作者:数据小太阳 更新时间:2023-10-29 07:50:23 25 4
gpt4 key购买 nike

如果在注册时未设置默认个人资料图片,我将无法使用辅助方法呈现默认个人资料图片。假设我有一个像这样的辅助方法:

def blank_image (user)
base_image = ""
if @user.image.empty?
base_image
else
@user.image
end
end

我需要的是将 base_image 指向的 url,以便我知道将此图像保存在何处。我在猜测 Assets /图像,但如果有意义的话,我不知道如何“拼出”图像位置。以及我如何在我看来实现这一点。提前致谢。

最佳答案

是这样的吗?

def blank_image.url(user)
if @user.image.empty?
"/assets/default_photo.jpg"
else
@user.image.url
end
end

Assets 上的图像,一旦它们被预编译,它们将在/assets 中可用(与样式表和 javascripts 相同),“/images”路径被删除。


根据您的新评论,最好的解决方案可能是为 Carrierwave 提供一个 default_url,如果您检查 documentation ,你可以这样做:

class MyUploader < CarrierWave::Uploader::Base

version :thumb do
process resize_to_fill: [280, 280]
end

version :small_thumb, :from_version => :thumb do
process resize_to_fill: [20, 20]
end

def default_url
"/assets/default_images/" + [version_name, "default.png"].compact.join('_')
end
end

然后在你的/app/assets/images/default_images/你应该添加照片创建文件 default.png 这是默认图像,thumb_default.png这是版本 :thumb,最后 small_thumb_default.png 这是版本 :small_thumb。

请注意,:thumb 和 :small_thumb 都是一个示例,以防您为上传的图像处理不同的图像版本。

关于ruby-on-rails - 默认个人资料图片图片助手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15191866/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com