我正在使用Rails 4和Ruby 2.我正在尝试使用carrierwave上传图像并收到错误“没有这样的文件或目录 - XYZ.jpg”。但是当我将图像保存在我的app文件夹中时,它会完美地上传。如果有人对此有任何想法,请帮助我。以下是我的代码:
宝石文件: 宝石'载波'
reports_controller.rb
def create
@site = Site.find(params[:site_id])
@report = @site.reports.build
@report.image = File.new(params[:image])
@report.save
end
new.html.erb
<div>
<%= file_field_tag :image %>
</div>
show.html.erb
<div class="col-sm-8">
<span> My Photo:
<%= image_tag @report.image_url %></span>
</div>
答案 0 :(得分:0)
正如您所解释的那样,没有从系统中任何其他位置拾取的原因是404错误。我在制作(Heroku)上经历了这一点,确切地说,我所做的就是改变我的载波图像上传器store_dir action
以合并上传图像的路径存储在Heroku上。
注意如果正在制作,您还可以在将store_dir action
附加到该目录并推送之前找到图片的上传位置。
示例---应用程序/上传/ image_uploader.rb 强>
def store_dir
"public/uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end