首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >资产“”不存在于资产管道中

资产“”不存在于资产管道中
EN

Stack Overflow用户
提问于 2018-07-17 06:27:56
回答 1查看 574关注 0票数 0

错误信息截图

如果我没有在产品中添加任何图像,那么它在默认图像中运行良好,但是如果我使用管理面板疯狂添加一个图像,那么在前端我就得到了这个问题.

内部:- app/helpers/spree/tracker_helper.rb

代码语言:javascript
复制
module Spree
  module TrackersHelper
    def product_for_segment(product, optional = {})
      {
        product_id: product.id,
        sku: product.sku,
        category: product.category.try(:name),
        name: product.name,
        brand: product.brand.try(:name),
        price: product.price,
        currency: product.currency,
        url: product_url(product),
      }.tap do |hash|
        hash[:image_url] = asset_url(optional.delete(:image).attachment) if optional[:image]
      end.merge(optional).to_json.html_safe
    end
  end
end

内部:- app/view/spree/shared/_Products.html.erb

代码语言:javascript
复制
<% content_for :head do %>
  <% if products.respond_to?(:total_pages) %>
    <%= rel_next_prev_link_tags products %>
  <% end %>
<% end %>

<div data-hook="products_search_results_heading">
  <% if products.empty? %>
    <div data-hook="products_search_results_heading_no_results_found">
      <%= Spree.t(:no_products_found) %>
    </div>
  <% elsif params.key?(:keywords) %>
    <div data-hook="products_search_results_heading_results_found">
      <h6 class="search-results-title"><%= Spree.t(:search_results, keywords: h(params[:keywords])) %></h6>
    </div>
  <% end %>
</div>

<% if products.any? %>
  <div id="products" class="row" data-hook>
    <%= render partial: 'spree/products/product', collection: products, locals: { taxon: @taxon } %>
  </div>
<% end %>

<% if products.respond_to?(:total_pages) %>
  <%= paginate products, theme: 'twitter-bootstrap-3' %>
<% end %>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-25 14:54:29

Spree正在使用ActiveStorage存储图像文件。它们位于spree项目的存储文件夹中。以批处理方式上传它们的一种方法是使用rest。

images.html

对于rest,我一直在使用unirest。

代码语言:javascript
复制
POST /api/v1/products/a-product/images

a-积= friendly_id (确切地说,是段塞名称),它们存储在friendly_id_slug表中。当你上传一个图片到狂欢节时,Spree会在该表中查找弹格名称并将其上传到ActiveStorage。记录将分别保存在spree_assets、active_storage_blobs和active_storage_attachments表中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51374566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档