我正在尝试实现涡轮框架,以通过涡轮框架加载我的导航栏。已安装使用:
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
导航栏加载正常
我确信我错过了一些非常明显的东西 - 有人可以帮忙吗?
您的应用程序可能不会将 Turbo javascript 库发送到浏览器。
我建议检查您的
app/assets/builds/application.js
以查看您是否已捆绑 JavaScript 资源。如果仅包含以下内容:
//# sourceMappingURL=/assets/application.js.map
...那么您可能需要运行
bin/rails javascript:build
(或运行 bin/rails assets:precompile
)来构建您的 JS 包。