问题标签 [hotwire-rails]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
1383 浏览

ruby-on-rails - 热线断开 link_to rails

我最近将 Hotwire 添加到我的 Rails 应用程序以更新模式,但这破坏了我将用户重定向到条带的 link_to。我在网上寻找解决方法,但由于 Hotwire 相对较新,我找不到它。有人对让 link_to 与 turbo 流一起使用有什么建议吗?

0 投票
1 回答
1258 浏览

ruby-on-rails - Hotwire turbo 流返回 head :no_content

我有一个带有帖子和评论的系统,每个Post has_many Comments。我正在尝试设置一个涡轮流,以便在您发表评论时立即显示。

一切正常,数据被持久化到数据库中,但似乎涡轮流没有正确返回。当我点击“评论”按钮时,没有任何变化,我收到一条:no_content消息CommentsController#create

Turbo 似乎可以在数据库中创建评论,然后发回评论 POST 请求,我可以在浏览器网络选项卡中看到该请求。我想知道为什么有:no_content以及为什么评论在页面刷新之前不显示。

Place.rb

Comment.rb

comment_controller.rb

在帖子中,我将评论呈现为部分内容:

然后comments/_show.html.erb

_comment.html.erb

new.html.erb

我想我可能已经找到了这个问题,但我不确定为什么会这样,日志中的最终想法是:

在我看来,这将是action=\"append\"而不是替换,尤其是因为comment_36页面上目前还不存在。

0 投票
0 回答
39 浏览

ruby-on-rails - Rails 热线中断了rich_text_area

在从rails action_text:install安装 Hotwire rich_text_area 之前工作正常,当我运行命令rails hotwire:install action text 停止工作并出现以下错误 在此处输入图像描述

在此处输入图像描述

我没有接触过 javascript 代码,我注意到安装 hotwire 后所有的 javascript 都停止工作了,hotwire 是否有机会禁用 rails 中的 javascript 支持?

0 投票
1 回答
645 浏览

javascript - 将函数传递给刺激

我一直在为我的最新项目使用刺激,我喜欢如何将代码分解和模块化成小的可重用部分。

然而,有时生成一个新的控制器并将其作为元素属性只是为了赋予它特定的功能有点麻烦。

我不知道是否可以创建一个通用控制器并传递一个函数或回调来执行。所以我仍然可以保持精简和干净的代码

0 投票
1 回答
544 浏览

ruby-on-rails - Rails:turbo-frame 请求的 src 解释为 format.html

我注意到涡轮帧通过src属性设置延迟加载的这种奇怪行为:

出于某种原因,它被解释为常规请求的 html 请求,尽管 turbo_frame_request?返回 => true。是什么导致它以及如何解决它?

PSprimary_menu.turbo_stream.slim存在于该控制器操作。

本地版本:

hotwire-rails 0.1.3 @hotwired/turbo-rails 7.0.0-beta.5

0 投票
1 回答
387 浏览

ruby-on-rails - Hotwire rails 应用程序:重定向到外部服务失败

我正在将话语单点登录与 hotwire rails 应用程序集成,一切正常,直到重定向,当它重定向时,我看到有 CORS 问题浏览器,当然它的 turbo 请求,所以它尝试从给定 URL 获取响应,所以它抛出 CORS 错误,我们如何可以在这里进行实际重定向吗?

在此处输入图像描述

编辑(1)

0 投票
2 回答
423 浏览

ruby-on-rails - 在 Hotwire/Rails 应用程序中,如何强制表单助手只接受文本/html?

我已将 Hotwire 整合到我最新的 Rails 6 应用程序中。Hotwire/Turbo 部分运行良好,但我有一个普通的用户表单,我不想使用 Hotwire/Turbo。目前,所有表单提交都format.turbo_stream {}在我的控制器中命中,但我希望这个特定的表单改为命中format.html {}块。我注意到Accept表单提交请求的标题text/vnd.turbo_stream.html现在自动包含,但我不确定如何删除它。

表单没有包裹在 turbo_frame_tag 中;页面上的任何地方都没有 Turbo,它看起来很标准:

如何在每个表单的基础上强制进行此更改?我以前认为添加 turbo 标签是您更改行为/ Accept 标头的方式,但我现在看到,一旦您format.turbo_stream在控制器方法中添加了一个块,表单就会开始喜欢它。

0 投票
1 回答
419 浏览

ruby-on-rails - 如何使用 Hotwire 和 Turbo.js 访问 current_user 助手?

我正在按照本教程实现用户可以提交琐事/有趣事实的功能。

我想将(编辑/删除)功能限制为每个项目的管理员或作者。</p>

我在 .application_controller 中创建了一个辅助类

但是当我在带有 Hotwire 的 Turbo-frame 中使用它时,我收到了这个错误

| ActionView::Template::Error(设计在您的请求环境中找不到Warden::Proxy实例。

这是我的代码供参考

索引.html

_trivium.html.erb

如何访问部分评论中的 current_user 帮助程序以检查 current_user 是作者还是管理员(并且应该允许删除/编辑)?

0 投票
2 回答
283 浏览

ruby-on-rails - 将 Hotwire 集成到现有 Rails 项目中的问题

我刚加入这个社区,这是我的第一篇文章。

我一直在关注几个 Hotwire 教程,并使用该技术构建了一些原型。与 JS 前端框架相比,以更少的复杂性获得类似 SPA 的响应是多么容易,这给我留下了深刻的印象。

然而,我发现当我尝试将代码和流程从我的原型转换到我现有的 Rails 项目时,它根本无法正常工作。更糟糕的是我不知道为什么。

我尝试使用以下一般过程编写一些跟踪代码:

  1. 包括 Hotwire gem
  2. 通过终端命令安装 Hotwire
  3. 包括来自相关模型的广播
  4. 在视图级别应用 turbo_stream_from 标记作为侦听器
  5. 在您希望更新模型数据的位置包含一个 turbo_frame_tag

这在我的原型中可靠地工作,但在我现有的项目中不起作用。我怀疑这可能是因为我现有的项目没有使用最新版本的 Rails 或 Ruby?(升级也不是一件容易的事。)我目前使用的是 Ruby 2.7.1 版和 Rails 6.0.2 版。

我知道我应该提供一些我的项目代码,但我什至不知道从哪里开始。如果有人能够为我提供一些指导,我将不胜感激。谢谢!

编辑:如果它有帮助,那么这些是我在尝试让 Hotwire 自动更新索引页面上的模型实例列表时收到的终端消息类型。似乎广播正在工作,但我的听众却没有?

提交数据库更改时的终端消息

故事索引页面

故事部分中的代码

我的故事模型中的代码

编辑:通过 Chrome 开发工具的 HTML 源代码

0 投票
1 回答
1022 浏览

ruby-on-rails - 如何在 turbo_frame 中重定向表单?

我需要添加一个按钮来保存以下表单的数据,但是当按下它时会重置视图并停留在其中,而不重定向到控制器的索引,我尝试了一个 ajax 调用,但我不知道为什么它对我不起作用。如何提供解决方案并添加按钮以保存并继续?