问题标签 [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 投票
0 回答
703 浏览

turbolinks - Hotwire Turbo 不会取代涡轮框架

我有一个表格

我想更换。

作为回复,我发送 303 和“位置:/added_goal”和“/added_goal”返回

Turbo 在 turbo-frame 上设置 src 但不替换内容。

0 投票
1 回答
886 浏览

ruby-on-rails - 似乎无法让 hotwire-rails `turbo_stream_from` 工作

我安装了hotwire-railsgem 并运行rails hotwire:install,这似乎工作正常。

当我从视图调用该方法turbo_stream_from "posts"时,我收到以下错误,我根本不明白。

undefined method `then' for "posts":String

在多个示例中,我看到一个字符串被传递给方法 turbo_stream_from,以识别流名称。我尝试检查 repo,但根据我对所见内容的了解,我没有找到太多东西。有人知道我可能会缺少哪些东西来完成这项工作吗?

更新:我生成了一个新的 rails 6 应用程序,它运行良好。给出错误的应用程序只是从 rails 5 迁移到 rails 6。也许这就是这两种情况之间的区别所在。

0 投票
1 回答
1683 浏览

turbolinks - 使用 hotwire 广播到多个 turbo 流

我已经正确连接了 hotwire/turbo,以便在我页面的一个位置对单个模型执行 crud 操作,但我也想在页面的不同位置同时更新同一个模型。我以为我可以设置两个流,但它似乎不起作用。

根据我命名目标的方式,指定目标确实适用于创建操作,但不适用于更新和销毁。这是我认为应该工作但没有:

----位置1(“生物”流)----

----位置 2(“creatures_main”流)----

----常见的_creature.html.erb部分----

---- 生物.rb ----

当我的模型中有两个调用时会发生什么,创建操作将新创建的生物放置在位置 1 两次,两个中只有一个被更新,但无论它们在页面上的哪个位置,它们都被正确销毁。

0 投票
2 回答
1952 浏览

javascript - 处理数据禁用的热线方式是什么?

我开始在我的 Rails 应用程序中使用Hotwire,并实现了类似于教程视频的内容,其中提交了表单并刷新了页面的另一部分。就像在视频中一样,我必须实现自己的重置表单控制器:

重置表单中的值。表单看起来像:

在按钮中生成如下:

因为有一个data-disable-with,当你按下按钮时,它会被禁用以避免双击提交,这很棒。问题是它this.element.reset()不会重置它。

处理这个问题的正确方法是什么?

我不是在寻找解决方法,我知道很多,但我正在寻找解决这个问题的干净解决方案。

这是由 UJS 引起的按钮的禁用吗?这是否意味着不应在 Stimulus 应用程序中使用 UJS?

reset我可以从JavaScript 函数重新启用按钮,但如果输入按钮是这样指定的:

value然后按钮的原始标签 (完全重新加载页面。

我可以扔:

并使用刺激控制器实现我自己的双击预防,但这感觉不对。问题不在于属性data-disable-with,而在于它是如何实现的。

0 投票
1 回答
900 浏览

ruby-on-rails - Rails turbo 帧响应未触发 turbo:load

我有一个使用Turboshow的标准内联编辑,它将视图的涡轮框架替换为_form. 但$(document).on "turbo:load", ->在这种情况下,事件不会触发。

我没有看到另一个应该使用的事件。任何想法如何在替换涡轮框架的响应上运行 js?(例如在表单中初始化日期选择器)

0 投票
1 回答
185 浏览

ruby-on-rails - 如何定义实例模型在 Rails 6 中的呈现方式

我正在使用 Hotwire 并在 Rails 6.0.3.6 应用程序上设计用户。

我为用户添加此广播

然后,当创建用户时,它会通过我尝试使用设计助手的部分(用户/用户)。current_user

但是 Rails 抛出这个错误:

也许解决方案是能够告诉 Rails 以下内容:

如果从模型中,您尝试渲染他的默认部分(.to_partial_path),您需要向它传递一些局部变量,例如user: self.

我怎么能对 Rails 这么说呢?

谢谢你的帮助

0 投票
0 回答
479 浏览

ruby-on-rails - Rails Turbo Frame Tag错误的参数数量错误

我已从 rails 6.0 升级到 rails 6.1 并尝试使用 Hotwire,但在尝试运行我的应用程序时出现错误:

我在edit.html.erb中的代码:

我的 _form.html.erb 中的代码:

我的 show.html.erb 中的代码:

有人知道我在升级过程中可能错过了什么吗?我跑了rails turbo:installrails hotwire:install还是我在涡轮框架标签中遗漏了什么?

0 投票
2 回答
781 浏览

ruby-on-rails - Rails 热线编辑链接在更新后断开

我创建了一个小型测试应用程序来探索热线,单击更新后我遇到了问题,我的编辑按钮不再起作用。我有一个工作模型,在节目中我可以单击编辑,涡轮框架将用编辑表单替换内容。然后我可以点击更新并更新显示内容而无需重新加载页面,但编辑按钮不再起作用。

工作展示 ERB

工作展示部分

作业控制器

工作模式

我注意到当它处于错误状态并且我无法点击“编辑”按钮时,如果我在浏览器中使用检查可以更改 turbo_frame 行,它就会起作用;

是什么将“src”选项放在该涡轮框架线上?我可以禁用它以使其正常工作吗?

完整代码:https ://github.com/map7/hotwire_jobs_example

0 投票
2 回答
2153 浏览

ruby-on-rails - Turbo_stream 格式不再发送

我们目前正在努力将我们的网络应用搜索引擎从 Stimulus 更改为 Turbo。

然而,我们不断从我们的脚本中收到一个 HTML 请求而不是 Turbo 请求,并出现错误:“</p>

我们使用的是 7.0.0-beta.5 Turbo 版本。

看法

有什么建议吗?

0 投票
1 回答
2316 浏览

javascript - 加载新的 Turbo Frame 时如何执行 JavaScript

我在我的 Rails 应用程序中使用 Turbo Frames,并且在每个页面上都有

这可以很好地加载,并且当单击链接时会按预期替换框架。在这个框架中我已经设置overflow-y: scroll,在页面上创建一个可滚动的框架。每次在框架中加载新页面时,我都希望它滚动到底部。我怎样才能做到这一点?理想情况下使用原生 JavaScript。