gpt4 book ai didi

ruby-on-rails - Rails 4 - CarrierWave default_url 不适用于 Assets 图像

转载 作者:行者123 更新时间:2023-12-01 10:45:45 25 4
gpt4 key购买 nike

class ImageUploader < CarrierWave::Uploader::Base

# Include RMagick or MiniMagick support:
include CarrierWave::RMagick
# include CarrierWave::MiniMagick

# Choose what kind of storage to use for this uploader:
storage :file
# storage :fog

# Override the directory where uploaded files will be stored.
# This is a sensible default for uploaders that are meant to be mounted:
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end

def default_url
ActionController::Base.helpers.asset_path("fallback/" + [main, "default.png"].compact.join('_'))
end

# Create different versions of your uploaded files:
version :thumb do
process :resize_to_fit => [50, 50]
end

version :main do
process :auto_orient
process :resize_to_fit => [300, 360]
end

def auto_orient
manipulate! do |img|
img = img.auto_orient
end
end
end

我已将我的默认图像上传到 app/assets/images/fallback/main/default.png

此 default_url 遵循载波 gem 描述的标准 Assets 管道。它没有给我一个错误,但没有显示默认图像,只在 View 上显示一个损坏的图像图标。但是,如果有有效的上传,它会正确显示上传,所以我知道 :thumb 和 :main 进程正在运行。唯一中断的部分是 default_url,我不知道为什么。我正在使用 Rails 4 顺便说一下。有什么想法/想法吗?

谢谢!

我在 View 中的代码显示图像是否已上传并且损坏的默认 url 是

<div class="img-container">
<%= image_tag @user.image_url(:main).to_s %>
</div>

最佳答案

我刚刚遇到了类似的问题。尝试在您的 default_url 方法中只返回“default.png”。据我所知,Rails 或 Carrierwave 会自行处理所有 Assets 管道问题,并将仅使用名称正确加载 default.png。

关于ruby-on-rails - Rails 4 - CarrierWave default_url 不适用于 Assets 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26203008/

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