В MenuController # search отсутствует шаблон для этого формата и варианта запроса. request.formats: ["текст / html"] request.variant: [] - PullRequest
0 голосов
/ 14 июля 2020

Я получил эту ошибку, когда попытался выполнить поиск ...

это мой menu_controller.rb

before_action :set_cats
  
  def index
    @page = 'menu'
    @products = Product.all
  end

  def search
    query = params[:search]

    results = Product.where('name LIKE ?', "%#{query}%")
    if params[:filter] == 'Select Filter'
      @products = results
    else
      # 'Dairy Free' -> 'Dairy_Free' -> 'dairy_free' -> :dairy_free
      symbol = params[:filter].gsub(/ /, '_').downcase!.to_sym
      # @products = results.where(:dairy_free => true)
      @products = results.where(symbol => true)
    end
  end

  private

  def set_cats
    @cats = Category.all.where(display: true)
  end

и это мой поиск. html .erb

$("#menu-products-container").html("<%= j render 'menu/products' %>");

, а это мой индекс. html .erb

<div class="menu-container">
    <div class="row">
        <div class="col-12">
            <%= form_tag(search_path, method: "get", remote: true) do %>
            <div class="input-group mb-5">
                <div class="col-8" style="padding:0">
                    <%= text_field_tag :search, '', class:'form-control', placeholder: 'Search...', onkeydown:'clickSubmit();'%>
                </div>
                <div class="col-4" style="padding:0">
                    <%= select_tag "filter", options_for_select(['Select Filter', 
                    'Dairy Free', 
                    'Gluten Free', 
                    'Kosher', 
                    'Peanut Free', 
                    'Vegan', 
                    'Vegetarian']), class:'custom-select', onchange:'clickSubmit()'%>

                    <%= submit_tag "Search", class:'btn btn-dark', id:'search_submit', style:'display:none'%>
                </div>
            </div>
            <% end %>
        </div>
    </div>
    <div id="menu-products-container">
        <%= render 'menu/products'%>
    </div>
</div>

<script>
    function clickSubmit() {
        $("#search_submit").trigger("click");
    }
</script>

Я узнал об этом на YouTube, и у человека возникла такая же ошибка на своем видео, и он изменил индекс. html .erb

сначала у него был этот код

<%= text_field_tag :search, '', class:'form-control', placeholder: 'Search...', onkeydown:'this.form.submit();'%>

и он изменился на

<%= text_field_tag :search, '', class:'form-control', placeholder: 'Search...', onkeydown:'clickSubmit();'%>

, который у меня есть сейчас, потому что я слежу за ним ... но У меня все еще эта ошибка ... может кто-нибудь помочь?

...