【发布时间】:2014-03-11 19:06:40
【问题描述】:
我尝试按照 Railscast #253 进行文件上传,然后是 Carrierwave github 站点上的一些自述文件,但我觉得我错过了一个关键的中间步骤。我是整个 Rails 的新手,我希望每个用户都有一张个人资料图片,或者我称之为“头像”。
在我的_form.html.erb 文件中,我有以下内容:
<%= form_for(@user), :html => { :multipart => true } do |f| %>
<%= image_tag(@user.avatar_url) if @user.avatar? %>
<%= f.file_field :avatar %>
<%= f.hidden_field :avatar_cache %>
<% end %>
在我的show.html.erb 中,我有:
<%= image_tag user.avatar.url(:thumb) if @user.avatar? %>
我什至不确定这是否正确。
我的avatar_uploader.rb 几乎和我创建它时一样,
class AvatarUploader < CarrierWave::Uploader::Base
include CarrierWave::RMagick
storage :file
def store_dir
"/images/"
end
version :thumb do
process :scale => [50, 50]
end
def extension_white_list
%w(jpg jpeg png)
end
end
我认为,在我的表单中,当我尝试上传它时,它会接受图像。它不会出现在图像文件夹或显示页面中。是否有什么我做错了,或者我应该做的额外的事情我错过了?我已经安装了 ImageMagick,并且我的 Gemfile 中包含了 RMagick,但它似乎也没有意识到这一点。
编辑:
我的user.rb 文件中也有mount_uploader :avatar, AvatarUploader。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 imagemagick carrierwave image-uploading