【发布时间】:2023-03-10 10:48:01
【问题描述】:
我正在阅读过去有关此问题的 Stack 帖子,但我仍然无法使默认配置文件图像正常工作。
在我的 app/models 文件夹中,我有一个名为“profile.rb”的文件,如下所示:
class Profile < ActiveRecord::Base
belongs_to :user
# From Paperclip GitHub README
has_attached_file :avatar, styles: { medium: "300x300>", thumb: "100x100>" }, default_url: "/images/:style/missing.jpg"
validates_attachment_content_type :avatar, content_type: /\Aimage\/.*\Z/
end
据我了解,它基本上是说样式是某种媒介和拇指的占位符。所以“thumb”和“medium”应该是资产/图像内的文件夹。 default_url 声明默认图像将在“thumb”或“medium”文件夹中的 :styles 中找到。我在图像目录中创建了一个名为“thumb”的文件夹,然后将“missing.jpg”文件放入其中。在我的 show.html.erb 我有一行
<%= image_tag @user.profile.avatar.url %>
当用户上传图片时显示图片,但如果他们不上传图片则显示为“丢失”。
我还注意到在 public/profiles/avatars/000/000/004 目录中有 3 个文件夹,分别称为“medium”、“original”和“thumb”。我认为这是我需要放置“missing.jpg”的地方,但这也没有用,所以我有点不知道该怎么做。
根据this stack post,Paperclip 正在公共目录中寻找图像,所以我认为这是正确的地方,但我仍然不明白为什么它不起作用。
【问题讨论】: