Добавить в корзину Javascript работает на Localhost, но не Heroku - PullRequest
0 голосов
/ 16 марта 2019

Я следовал этому руководству, чтобы создать функциональность корзины покупок для моего приложения.

Предполагается, что кнопка «Добавить в корзину» использует AJAX для отображения товаров в корзине (вверху справа).

Кнопка добавления в корзину происходит следующим образом:

 <%= form_for @basket_item, remote: true do |f| %>
    <div class="input-group">
      <%= f.hidden_field :quantity, value: 1 %>
      <div class="input-group-btn">
        <%= f.hidden_field :variation_id, value: variation.id %>
        <%= f.submit "Add to Cart", class: "btn btn-primary" %>
      </div>
    </div>
  <% end %>

Что запускает эту логику контроллера:

  def create
    @basket = current_basket
    @basket_item = @basket.basket_items.new(basket_item_params)
    if @basket.save
      respond_to do |format|
        format.js
        format.html
      end
    else
      alert "Something went wrong!"
    end
    session[:basket_id] = @basket.id
  end

С этим create.js:

<% if @basket.errors.any? || @basket_item.errors.any? %>
  alert("not valid.")
<% else %>
  $("#cart-text").html("<%= escape_javascript(render 'layouts/cart_text') %>")
<% end %>

Чтобы обновить #cart-text в макете приложения:

<a><div id="cart-text"><%= render 'layouts/cart_text' %></div></a>

Он отлично работает на localhost, но при развертывании на Heroku в консоли появляется ошибка 500 (Internal Server Error), когда я нажимаю кнопку «Добавить в корзину». (Вы можете увидеть срок действия ошибки на https://www.thestaysanemom.com/goodies/1).

Я посмотрел его и ТАК пишет, что this рекомендует предварительно скомпилировать ресурсы и добавить строку config.assets.compile = true к production.rb, оба из которых я пробовал, но безрезультатно.

Посты типа this рекомендуют добавить config.assets.debug = true к production.rb, что привело к краху всего моего приложения (500 страниц) из-за невозможности найти изображения, которые явно находятся в папке моих ресурсов.

Есть идеи как это исправить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...