在gemfile中,我安装了carrierwave以允许用户上传配置文件图像。我按照这个railscast中的指示 - http://railscasts.com/episodes/253-carrierwave-file-uploadsRuby on Rails image_tag不显示图像
gem 'carrierwave'
但是图像不与image_tag一起显示。我可以通过在没有image_tag的情况下测试它来看到图像目录。我还在图像目录中导航以确保图像被存储。我可以看到它在导演 “/上传/用户/图片/ 110 /”
在视图中它显示的图像的URL “/uploads/user/image/110/thumb_IMG_0017.JPG”
<%= @user.image_url(:thumb).to_s %>
添加图像标签显示任何
<%= image_tag @user.image_url(:thumb).to_s %>
ImageUploader
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
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
version :thumb do
process :resize_to_limit => [200, 200]
end
end
控制器
def show
@user = User.find(params[:id])
...
end
private
def user_params
params.require(:user).permit(:name, :email, :password, :password_confirmation, :image)
end
模型
class User < ActiveRecord::Base
...
mount_uploader :image, ImageUploader
...
end
直接查询数据库例如用户110个显示以下
User.find(110).image_url(:thumb)
User Load (2.1ms) SELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1 [["id", 110]]
=> "/uploads/user/image/110/thumb_IMG_0017.JPG"
任何可以报告的错误/日志? –
我没有得到任何错误。 – cloudviz
图片刚回来404或什么的?页面本身发生了什么? –