Javascript <;%=收益率%>;,turbolinks和algolia地点

Javascript <;%=收益率%>;,turbolinks和algolia地点,javascript,ruby-on-rails,yield,turbolinks,Javascript,Ruby On Rails,Yield,Turbolinks,我已经处理这个错误好几天了,我无法解决它。我真的需要帮助。我的application.html.erb文件中有此代码。这是一位社区成员向我提出的建议,这应该是正确的做法: <!DOCTYPE html> <html> <head> <title>Neigbornow</title> <%= csrf_meta_tags %> <%= csp_meta_tag %> <%=

我已经处理这个错误好几天了,我无法解决它。我真的需要帮助。我的application.html.erb文件中有此代码。这是一位社区成员向我提出的建议,这应该是正确的做法:

<!DOCTYPE html>
<html>
  <head>
    <title>Neigbornow</title>
    <%= csrf_meta_tags %>
    <%= csp_meta_tag %>
    <%= yield :meta %>
    <%= javascript_include_tag 'application' %>
    <%= javascript_pack_tag 'application' %>
    <%= javascript_pack_tag 'autocomplete' %>
    <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
    <%= yield :js %>
    <%= yield :css %>

  </head>
  <body>
    <% if @user.nil? %>
      <%= render 'layouts/header' %>
    <% elsif user_signed_in? && @user.street.nil? %>
      <%= render partial: "layouts/header_address" %>
    <% else %>
      <%= render 'layouts/header_rest' %>
    <% end %>
    <div id="main">
      <%= yield %>
    </div>
  </body>
</html>
“自动完成”选项不会显示:

还有一件事发生了,就在重定向到下一个页面(上面的一个页面)之前,将加载一个带有错误的模式窗口,该窗口应该只在错误出现时显示,而不是在从当前页面重定向时显示

如果我更改“yield”顺序并删除:js规范,那么自动完成就可以工作了

<%= yield :meta %>
<%= yield %>
<%= javascript_include_tag 'application' %>
<%= javascript_pack_tag 'application' %>
<%= javascript_pack_tag 'autocomplete' %>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= yield :css %>
我还尝试将我的自动完成代码包装成一个函数,正如其中一个成员建议的那样,但没有成功

document.addEventListener('turbolinks:load', function(e){ ... })

我真的很感谢你的帮助,因为我自己解决不了。谢谢

我们已经了解到,将主要的
收益
放在你的头脑中是不可能的。这个问题实际上与
收益率没有任何关系
更多的是你的资产和加载顺序看起来一团糟。开始时只使用链轮或网页包-不能同时使用两者。检查样式表包含的顺序以及是否包含多次。如果你不能把你的头绕到涡轮链接上,那就扔掉它。是的,谢谢,我一周的努力思考让我产生了同样的想法。问题是,最初我的rails应用程序是在没有webpacker的情况下创建的,后来我添加了它。我找到了一个关于媒体的教程,关于如何将协助转移到webpacker,但这对我不起作用。所以我又迷路了。也许你知道一个很好的在线教程,或者一种从资产转换到webpacker的方法?这太好了!
<%= yield :meta %>
<%= yield %>
<%= javascript_include_tag 'application' %>
<%= javascript_pack_tag 'application' %>
<%= javascript_pack_tag 'autocomplete' %>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= yield :css %>
class ApplicationController < ActionController::Base
  include Turbolinks::Redirection
end
uninitialized constant ApplicationController::Turbolinks
document.addEventListener('turbolinks:load', function(e){ ... })