我正在使用Carrierwave,以便用户可以上传图片。我正在建立一个博客网站。我没有错误,但图像没有出现。我希望图像出现在后视图中。这是我的代码:
Post.rb
mount_uploader :image, ImageUploader
帖子_form.html.erb
<div>
<%= form_for @post do |f|%>
<%= f.label :image %>
<%= f.file_field :image %>
</div>
image_uploader.rb
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
def extension_white_list
%w(jpg jpeg gif png)
end
帖子show.html.erb
<strong>Image:</strong>
<%= image_tag @post.image_url%>
</p>
当我运行我的应用程序并查看帖子时,它只是说Image:下面没有图像。
更新:
我安装了ImageMagick / GraphicsMagick,当我去保存帖子时说:
1 error prohibited this post from being saved:
Image Failed to manipulate with MiniMagick, maybe it is not an image? `Original Error: ImageMagick/GraphicsMagick is not installed`
并在其下方显示图像,但不会保存帖子。
答案 0 :(得分:1)
虽然form_for自动设置编码multipart,但在我的项目中我仍然定义它。试试这个:
<%= form_for(@post, hmtl: { multipart: true } ) do |f| %>