错误:"没有这样的文件或目录n#34;使用carrierwave上传图片时

时间:2014-09-16 07:24:47

标签: ruby-on-rails

我正在使用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>

1 个答案:

答案 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

有关详细信息,请参阅carrierwave doc on changing storage directory