为什么 Turbo 框架没有从源中引用的 Turbo 框架加载内容

问题描述 投票:0回答:1

我正在尝试实现涡轮框架,以通过涡轮框架加载我的导航栏。已安装使用:

Add the turbo-rails gem to your Gemfile: gem 'turbo-rails'
Run ./bin/bundle install
Run ./bin/rails turbo:install

我的路线:

Rails.application.routes.draw do

  get "/", to: "marketing#index"
  get "nav", to: "components#nav"
end

宝石:

gem 'rails', '~> 7.2.0'
gem "propshaft"
gem 'puma'
gem "jsbundling-rails"
gem "cssbundling-rails"
gem "jbuilder"

gem "nokogiri"
gem 'turbo-rails'

营销/index.html.erb:

<body class="body">

  <div id="nav_bar">
    <%= turbo_frame_tag "nav_bar", src: nav_path do %>
    <% end%>
  </div>

...
</body>

组件/nav.html.erb

<%= turbo_frame_tag "nav_bar" do %>
  <div class="hybrid-nav" id="nav_bar">
    ...
  </div>
<% end %>

组件_控制器.rb

class ComponentsController < ApplicationController
  def nav
    byebug
  end
end

当访问视图中带有 Turbo Frame 标签的营销索引路线时,它甚至没有点击组件控制器导航方法。如果我访问

/nav
导航栏加载正常

我确信我错过了一些非常明显的东西 - 有人可以帮忙吗?

ruby-on-rails ruby turbo turbo-frames
1个回答
0
投票

您的应用程序可能不会将 Turbo javascript 库发送到浏览器。

我建议检查您的

app/assets/builds/application.js
以查看您是否已捆绑 JavaScript 资源。如果仅包含以下内容:

//# sourceMappingURL=/assets/application.js.map

...那么您可能需要运行

bin/rails javascript:build
(或运行
bin/rails assets:precompile
)来构建您的 JS 包。

© www.soinside.com 2019 - 2024. All rights reserved.