Rails:如何显示上传的图片

时间:2018-06-29 13:17:26

标签: ruby-on-rails ruby

我是红宝石的新手,我已经制作了用于上传图片并保存的基本代码,我的代码如下

    name = params['image'].original_filename
    directory = "public/"+params[:shop]
    #check directory exits or not
     if ! File.directory?(directory)
        Dir.mkdir directory
     end
    #  create the file path
    path = File.join(directory, name)
    # write the file
    File.open(path, "wb") { |f| f.write(params['image'].read) }

以下是显示上传的图片的代码

<img src="/public/<%= @shop+"/"+@filename %>" class="img-thumbnail" alt="Cinque Terre" />

它在视图上提供以下图像路径 https://cf119e25.ngrok.io/public/fxdev1.myshopify.com/chasing_dreams_by_skyway.jpg 但是图像显示不正确。

代码中是否有任何错误或需要使用任何库?

1 个答案:

答案 0 :(得分:1)

您正在从公共目录中读取文件,因此

<img src="/public/<%= @shop+"/"+@filename %>" class="img-thumbnail" alt="Cinque Terre" />

应该是

<img src="/<%= @shop+"/"+@filename %>" class="img-thumbnail" alt="Cinque Terre" />

因此您正在使用的网址是https://cf119e25.ngrok.io/fxdev1.myshopify.com/chasing_dreams_by_skyway.jpg

如果您将Rails辅助程序用于图像image_tag,并在资产管道here上使用更多内容,则效果更好