我在带有turbo-rails的 Rails 应用程序中使用render_async ,并尝试将 JWT 添加到 render_async 请求标头。
我的 application.rb 中有以下内容:
RenderAsync.configure do |config|
config.turbo = true
end
这是一个调用示例(它是循环的一部分):
<%= render_async customer_activity_path(:customer => customer.id), html_options: { 'data-turbo-track': 'reload' } do %>
<div class="loader"></div>
<div class="eventDetails">Loading... </div>
<% end %>
<%= content_for :render_async %>
我正在使用相同的 .js 文件加载 Turbo:https ://github.com/kirillplatonov/shopify-hotwire-sample/blob/main/app/javascript/shopify_app/shopify_app.js
我尝试在 shopify_app.js 中添加第二个监听器 turbo:load除了 turbo:before-fetch-request 之外,但这并没有做任何事情。
我在 Chrome Inspect 中看到 render_async 调用由 Turbo 处理,但它以 401 Unauthorized 的形式返回,我可以看到 JWT Bearer 证书不在 render_async GET 请求标头中。我还可以看到 JWT Bearer 证书在标准 GET 请求中,用于加载包含 render_async 调用循环的页面。
对于如何将 JWT Bearer 证书添加到使用 Turbo 的 render_async 调用的 http get 标头,我将不胜感激。