【问题标题】:Spree cannot upload product images on WindowsSpree 无法在 Windows 上上传产品图片
【发布时间】:2018-03-19 04:00:01
【问题描述】:

第一个问题

我是 Spree 的新手,正在尝试从管理员上传产品图片。当我尝试上传一个小的 JPG 图片时出现以下错误:

附件的内容与报告不符

经过研究,我发现 paperclip gem 在 Windows 上存在问题。

为了解决这个问题,我创建了一个文件 app\models\spree\image_decorator.rb 但是在这里做什么:

Spree::Image.class_eval do
validates_attachment :attachment,
                   :presence => true,
                   :content_type => { :content_type => %w(image/jpeg image/jpg image/png image/gif) }
end

在这里做什么?

第二个问题

我的产品没有加载到 spree\shared_products.html.erb。

我创建了分类单元 Women => Bottom => Crop 在 Category taxonomy 下。

然后我创建了一个新产品,创建了它的变体,设置了每个变体库存。然后我将分类单元 Women => Bottom => Crop 分配给这个产品。

【问题讨论】:

    标签: image product spree


    【解决方案1】:

    第一部分通过在我的 config\initializers\spree.rb 文件中添加以下行来解决:

    module Paperclip
     class MediaTypeSpoofDetector
       def spoofed?
         false
       end
     end
    end
    

    对于第二部分,我觉得奇怪的是,如果我不为 Available On 字段提供值,产品将不会显示在页面上。

    【讨论】:

      【解决方案2】:

      在我的机器上失败的主要原因是 windows 没有用于“文件”的等效命令来确定文件类型。

      以下步骤对我有用。

      1. 我在我的 windows 机器上安装了 cygwin。
      2. 我更新了 PATH 变量以包含 cygwin/bin 位置。
      3. 我还更新了 config/environments/development.rb 文件以包含 Paperclip.options[:command_path] = 'C:\Program Files (x86)\ImageMagick-7.0.7-Q16; C:\cygwin64\bin'

      希望对您有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-12
        • 2012-08-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多