2015-09-30 8 views
1

Я пытаюсь изменить внешний вид первой страницы, где перечислены элементы, но я получаю сообщение об ошибке. Правильно ли я использую deface, чтобы изменить его? Его рассказывают мне, что <%= link_to small_image(product, itemprop: "image"), url, itemprop: 'url' %> дает мне ошибки, если я удалил, тогда фотографий нет. Что я делаю?Spree: Deface get error NameError in Spree :: Home # index

update_products.rb

Deface::Override.new(:virtual_path =>"spree/shared/_products", 
        :name => "change site", 
        :replace =>"#products", 
        :text => ' 



<% 
    paginated_products = @searcher.retrieve_products if params.key?(:keywords) 
    paginated_products ||= products 
%> 

<% content_for :head do %> 
    <% if paginated_products.respond_to?(:num_pages) %> 
    <%= rel_next_prev_link_tags paginated_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> 
    <% products.each do |product| %> 
     <% url = spree.product_url(product, taxon_id: @taxon.try(:id)) %> 
     <div id="product_<%= product.id %>" class="col-md-3 col-sm-6 product-list-item" data-hook="products_list_item" itemscope itemtype="https://schema.org/Product"> 
     <div class="panel panel-default"> 
      <% cache(@taxon.present? ? [I18n.locale, current_currency, @taxon, product] : [I18n.locale, current_currency, product]) do %> 
      <div class="panel-body text-center product-body"> 
       <br/> 
<%= link_to small_image(product, itemprop: "image"), url, itemprop: 'url' %> 
      </div> 
      <div class="panel-footer text-center"> 
       <span itemprop="offers" itemscope itemtype="https://schema.org/Offer"> 
       <span class="price selling lead" itemprop="price"><%= display_price(product) %></span> 
       </span> 
      </div> 
      <% end %> 
     </div> 
     </div> 
    <% end %> 
    <% reset_cycle("classes") %> 
    </div> 
<% end %> 

<% if paginated_products.respond_to?(:num_pages) %> 

<% end %> 
') 

ответ

2

одна небольшая цитата проблема для URL-адреса <%= link_to small_image(product, itemprop: "image"), url, itemprop: "url" %> проверки этот код: -

Deface::Override.new(:virtual_path =>"spree/shared/_products", 
        :name => "change site", 
        :replace =>"#products", 
        :text => ' 



<% 
    paginated_products = @searcher.retrieve_products if params.key?(:keywords) 
    paginated_products ||= products 
%> 

<% content_for :head do %> 
    <% if paginated_products.respond_to?(:num_pages) %> 
    <%= rel_next_prev_link_tags paginated_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> 
    <% products.each do |product| %> 
     <% url = spree.product_url(product, taxon_id: @taxon.try(:id)) %> 
     <div id="product_<%= product.id %>" class="col-md-3 col-sm-6 product-list-item" data-hook="products_list_item" itemscope itemtype="https://schema.org/Product"> 
     <div class="panel panel-default"> 
      <% cache(@taxon.present? ? [I18n.locale, current_currency, @taxon, product] : [I18n.locale, current_currency, product]) do %> 
      <div class="panel-body text-center product-body"> 
       <br/> 
<%= link_to small_image(product, itemprop: "image"), url, itemprop: "url" %> 
      </div> 
      <div class="panel-footer text-center"> 
       <span itemprop="offers" itemscope itemtype="https://schema.org/Offer"> 
       <span class="price selling lead" itemprop="price"><%= display_price(product) %></span> 
       </span> 
      </div> 
      <% end %> 
     </div> 
     </div> 
    <% end %> 
    <% reset_cycle("classes") %> 
    </div> 
<% end %> 

<% if paginated_products.respond_to?(:num_pages) %> 

<% end %> 
') 
+0

фантастическим, спасибо – JamesRocky