ActionView :: MissingTemplate :: Missing template - частичный сценарий Java - PullRequest
0 голосов
/ 18 сентября 2018

Я хочу добавить поле поиска AJAX в свое приложение, используя этот учебник: http://www.rymcmahon.com/articles/11

Все работает хорошо, кроме поля поиска JS. Это не работает вообще. Ошибки в моей терминальной консоли:

ActionView :: MissingTemplate (Отсутствует шаблон товаров / результатов поиска, application / search-results с {: locale => [: en],: format => [: js, : html],: варианты => [],: обработчики => [: raw,: erb,: html,: builder,: ruby, : jbuilder,: haml]

Консоль JS в Chrome

Рельсы-ujs.self-8944eaf3f9a2615ce7c830a810ed630e296633063af8bb7441d5702fbe3ea597.js тело = 1: 189 ПОЛУЧИТЬ http://localhost:3000/products?utf8=%E2%9C%93&search=PKP&commit=search 500 (внутренняя ошибка сервера)

У меня есть турболинки v.5 и рельсы 5.1.6.

драгоценный камень 'turbolinks', '~> 5'

драгоценный камень 'jquery-rails'

драгоценный камень 'rails', '~> 5.1.6'

Это как этот файл не может быть найден:

/ продукция / _search-results.js.rb

$("#product_table").hide();
$("#search-results").html("<%= escape_javascript(render :partial =>'results') %>");

Должен ли я добавить несколько маршрутов для этого? Спасибо за совет.

На всякий случай я добавлю другие файлы:

Мой метод индекса:

class ProductsController < ApplicationController
  def index
    if params[:search]
      @search_results_products = Product.options_sortable(params)
            respond_to do |format|
                format.js {render "search-results"}
                format.html
            end
        else
            @products = Product.all.paginate(:page =>params[:page], :per_page => 20)
        end
  end.....

index.html.haml:

.container-fluid
    %h2.center
        =link_to "Create New Product", new_product_path

    =render 'search_products'

    %br
    %h1.center List of all the Products
    #product-table
        =render 'table_products'
    #search-results
    .col-lg-2.offset-md-5
        =will_paginate(@product)

Я поставлю здесь другой файлер.

_table.products:

.col-md-8.offset-md-2
    %table.frame
        %thread
            %tr.h2
              %th
                =link_to "Name", sort: "product_name"
                %th
                  =link_to "Description", sort: "description"
                %th Order Name
                %th options
        %tbody
            -@products.each do |product|
                %tr
                  %th.h4
                    =product.product_name
                    %th
                      =product.description
                    %th
                      =product.order.name
                    -if product.order.user == current_user
                      %th
                        =link_to 'edit', edit_product_path(product)
                        ||
                        =link_to 'delete', product_path(product), 
                                           remote: true,
                                           method: :delete,
                                    data: { confirm: 'Are you sure?'}
                    -else
                        %th
                          no permission
* * _Results.html.haml тысяча сорок-девять
.col-md-8.offset-md-2
    %table.frame
        %thread
          %tr.h2
            %th
              =link_to "Name", sort: "product_name"
            %th
              =link_to "Description", sort: "description"
            %th Order Name
            %th options
        %tbody
            -@search_results_products.each do |product|
              %tr
                %th.h4
                  =product.product_name
                %th
                  =product.description
                %th
                  =product.order.name
                -if product.order.user == current_user
                  %th
                    =link_to 'edit', edit_product_path(product)
                    ||
                    =link_to 'delete', product_path(product), 
                                remote: true,
                                method: :delete,
                               data: { confirm: 'Are you sure?'}
                    -else
                      %th
                        no permission

и _search_products.html.haml

.col-lg-4.offset-md-4
  =form_tag(products_path, :method => "get", remote: true) do
    .form-group.form-control-md
      =text_field_tag :search, params[:search], placeholder: 'Enter search text'
      =submit_tag 'search', class: "btn"

Ответы [ 2 ]

0 голосов
/ 18 сентября 2018

Проблема была в неправильном типе файла JS.Это должно быть _search-results.js.erb вместо _search-results.js.rb .

screenshoot

0 голосов
/ 18 сентября 2018

Ошибка говорит, что /products/search-results.js.rb не может быть найдено, что является правдой.Ваше имя файла /products/_search-results.js.rb

Когда вы звоните render 'search-results' в контроллере. Он ищет имя файла search-results - Когда вы звоните partial =>'results', он ищет имя файла _results

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