应用程序未在 assets/javascripts 中执行 js 代码

App not executing js code in assets/javascripts

我有一个带过滤器的简单列表,我想在单击“清除”时清除过滤器(这也会刷新包含所有项目的列表)。

我在 index.html.erb 中有一个表格:

</br >
<%= form_tag '', method: :get, remote: true do %>
  <%= label_tag 'content:' %>
  <%= text_field_tag :content %>
  <%= label_tag 'submitter:' %>
  <%= text_field_tag :submitter %>
  <%= label_tag 'feeback type:' %>
  <%= text_field_tag :feedback_type %>
  <%= submit_tag 'Filter', class: 'btn btn-primary' %>
  <%= link_to 'clear fields', feedback_messages_path, remote: true, type: 'button', class: 'btn btn-danger', id: 'clear-button' %>
<% end %>

在 app/assets/feedback_messages 中,我有:

$("#clear-button").click(function() {
  console.log('foo');
  $("#content").val(' ');
  $("#submitter").val(' ');
  $("#feedback_type").val(' ');
});

在 application.js 中,我尝试了 require 语句的所有组合,但 none 有效。这是我现在得到的,试图显式加载 js 文件:

//= require jquery
//= require jquery_ujs
//= require bootstrap
//= require turbolinks
//= require feedback_messages

当我加载网页时,js 文件在源中可用,但不会执行。如果我将 js 移动到 script 标记中的 index.html.erb,它会起作用,所以我认为 js 没有问题。

该代码适用于清除列表,因此我排除了控制器和 js.erb 代码。

从以下位置拉取远程:true:

<%= link_to 'clear fields', feedback_messages_path, remote: true, type: 'button', class: 'btn btn-danger', id: 'clear-button' %>

尝试一下,让我知道会发生什么。