初学者:寻找图像路径

时间:2014-01-10 05:37:56

标签: ruby-on-rails rubygems gem

您好,对不起这个基本问题,但我已经用尽所有搜索选项。

我的问题是如何找到图像路径?我开始学习Ruby on Rails和我想要集成的宝石需要我指定一个图像路径:

colors = Miro::DominantColors.new('/path/to/local/image.jpg')

如何找到保存到桌面的本地图像的路径?

我正在尝试使用Miro RoR gem(https://github.com/jonbuda/miro)。

谢谢你, 布赖恩

2 个答案:

答案 0 :(得分:1)

你将不得不upload the image


图片

你遇到的问题是Rails是服务器端的

您正在尝试从客户端系统(桌面)加载图像

这意味着为了让Rails以任何方式处理图像,您必须先将图像上传到系统中,然后进行处理。建议的方法是使用Paperclip gem(用于图片上传),然后您可以使用Miro gem处理图片

这就是我要做的事情:


上传

您首先必须上传图片

有很多方法可以做到这一点,但过程是一样的:

  1. 创建image模型& db(存储图像)
  2. 创建upload表单
  3. 处理uploadcontroller
  4. 模型

    #app/models/image.rb
    Class Image < ActiveRecord::Base
        has_attached_file :image
    end
    

    控制器

    #app/controllers/images_controller.rb
    def new
        @image = Image.new
    end
    
    def create
        @image = Image.new(image_params)
        @image.save
    end
    
    private
    def image_params
        params.require(:image).permit(:image)
    end
    

    查看

    #app/views/images/new.html.erb
    <%= form_for @image do |f| %>
        <%= f.file_field :image %>
    <% end %>
    

    <强>过程

    保存图片后,您可以拨打Paperclip's processing methods之一来管理上传图片的处理。以下是关于如何执行此操作的一些想法:

答案 1 :(得分:0)

感谢您提供有关回形针教程的建议和链接,Rich。我肯定会在不久的将来使用这些资源。

解决方案太简单了,我对提问这个问题感到内疚。我所要做的就是使用终端导航到图像然后只需$ pwd来获取路径。