gpt4 book ai didi

javascript - ActionView::MissingTemplate::缺少模板 - 部分 Java 脚本

转载 作者:行者123 更新时间:2023-11-30 06:22:27 24 4
gpt4 key购买 nike

我想使用本教程将 AJAX 搜索字段添加到我的应用程序:http://www.rymcmahon.com/articles/11

除搜索 JS 字段外,一切正常。它根本不起作用。我的终端控制台中的错误:

ActionView::MissingTemplate (Missing template products/search-results, application/search-results with {:locale=>[:en], :formats=>[:js, :html], :variants=>[], :handlers=>[:raw, :erb, :html, :builder, :ruby, :jbuilder, :haml]

Chrome 中的 JS 控制台

rails-ujs.self-8944eaf3f9a2615ce7c830a810ed630e296633063af8bb7441d5702fbe3ea597.js?body=1:189 GET http://localhost:3000/products?utf8=%E2%9C%93&search=PKP&commit=search 500 (Internal Server Error)

我有 turbolinks v.5 和 rails 5.1.6。

gem 'turbolinks', '~> 5'

gem 'jquery-rails'

gem 'rails', '~> 5.1.6'

好像找不到这个文件:

/products/_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"

最佳答案

错误说找不到 /products/search-results.js.rb 这是真的。您的文件名为 /products/_search-results.js.rb

当您在 Controller 中调用 render 'search-results' 它将查找文件名 search-results - 当您调用 partial =>'results' 它将查找文件名 _results

关于javascript - ActionView::MissingTemplate::缺少模板 - 部分 Java 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52376599/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com