我使用carieerwave和mini magick。我试图将拇指版本中的carieerwave图片缩放到500x250,但我无法读取它们: enter image description here
图像(文章)部分。我无法设置所有照片的相同尺寸(500x250),当我添加一个版本(:拇指)时,它们根本不会加载。
<div class="section">
<div class="container" style="display: flex;">
<% @posts.take(4).each do |post| %>
<div class="carda" >
<div class="card-content">
<%= link_to image_tag(post.image_url(:thumb), width: 500, height: 250), post %>
<p class="title" style="margin-top: 5px; color:black">
<%= raw link_to post.title, post %>
</p>
</div>
</div>
<% end %>
</div>
</div>
图像上传器
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
# Provide a default URL as a default if there hasn't been a file uploaded:
# def default_url(*args)
# # For Rails 3.1+ asset pipeline compatibility:
# # ActionController::Base.helpers.asset_path("fallback/" + [version_name, "default.png"].compact.join('_'))
#
# "/images/fallback/" + [version_name, "default.png"].compact.join('_')
# end
# Process files as they are uploaded:
# process scale: [200, 300]
#
# def scale(width, height)
# # do something
# end
# Create different versions of your uploaded files:
version :thumb do
process resize_to_fit: [500, 250]
end
# Add a white list of extensions which are allowed to be uploaded.
# For images you might use something like this:
def extension_whitelist
%w(jpg jpeg gif png)
end
# Override the filename of the uploaded files:
# Avoid using model.id or version_name here, see uploader/store.rb for details.
# def filename
# "something.jpg" if original_filename
# end
end
答案 0 :(得分:1)
试试这个
post.image.thumb.url
应该有效
如果你想要内联样式,请试试这个:
<%= image_tag post.image.url, style: 'height:100px; width:100px;'%>