问题标签 [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.
turbolinks - Hotwire Turbo 不会取代涡轮框架
我有一个表格
我想更换。
作为回复,我发送 303 和“位置:/added_goal”和“/added_goal”返回
Turbo 在 turbo-frame 上设置 src 但不替换内容。
ruby-on-rails - 似乎无法让 hotwire-rails `turbo_stream_from` 工作
我安装了hotwire-rails
gem 并运行rails hotwire:install
,这似乎工作正常。
当我从视图调用该方法turbo_stream_from "posts"
时,我收到以下错误,我根本不明白。
undefined method `then' for "posts":String
在多个示例中,我看到一个字符串被传递给方法 turbo_stream_from,以识别流名称。我尝试检查 repo,但根据我对所见内容的了解,我没有找到太多东西。有人知道我可能会缺少哪些东西来完成这项工作吗?
更新:我生成了一个新的 rails 6 应用程序,它运行良好。给出错误的应用程序只是从 rails 5 迁移到 rails 6。也许这就是这两种情况之间的区别所在。
turbolinks - 使用 hotwire 广播到多个 turbo 流
我已经正确连接了 hotwire/turbo,以便在我页面的一个位置对单个模型执行 crud 操作,但我也想在页面的不同位置同时更新同一个模型。我以为我可以设置两个流,但它似乎不起作用。
根据我命名目标的方式,指定目标确实适用于创建操作,但不适用于更新和销毁。这是我认为应该工作但没有:
----位置1(“生物”流)----
----位置 2(“creatures_main”流)----
----常见的_creature.html.erb部分----
---- 生物.rb ----
当我的模型中有两个调用时会发生什么,创建操作将新创建的生物放置在位置 1 两次,两个中只有一个被更新,但无论它们在页面上的哪个位置,它们都被正确销毁。
javascript - 处理数据禁用的热线方式是什么?
我开始在我的 Rails 应用程序中使用Hotwire,并实现了类似于教程视频的内容,其中提交了表单并刷新了页面的另一部分。就像在视频中一样,我必须实现自己的重置表单控制器:
重置表单中的值。表单看起来像:
在按钮中生成如下:
因为有一个data-disable-with
,当你按下按钮时,它会被禁用以避免双击提交,这很棒。问题是它this.element.reset()
不会重置它。
处理这个问题的正确方法是什么?
我不是在寻找解决方法,我知道很多,但我正在寻找解决这个问题的干净解决方案。
这是由 UJS 引起的按钮的禁用吗?这是否意味着不应在 Stimulus 应用程序中使用 UJS?
reset
我可以从JavaScript 函数重新启用按钮,但如果输入按钮是这样指定的:
value
然后按钮的原始标签 (完全重新加载页面。
我可以扔:
并使用刺激控制器实现我自己的双击预防,但这感觉不对。问题不在于属性data-disable-with
,而在于它是如何实现的。
ruby-on-rails - 如何定义实例模型在 Rails 6 中的呈现方式
我正在使用 Hotwire 并在 Rails 6.0.3.6 应用程序上设计用户。
我为用户添加此广播
然后,当创建用户时,它会通过我尝试使用设计助手的部分(用户/用户)。current_user
但是 Rails 抛出这个错误:
也许解决方案是能够告诉 Rails 以下内容:
如果从模型中,您尝试渲染他的默认部分(.to_partial_path),您需要向它传递一些局部变量,例如user: self
.
我怎么能对 Rails 这么说呢?
谢谢你的帮助
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:install
,rails hotwire:install
还是我在涡轮框架标签中遗漏了什么?
ruby-on-rails - Rails 热线编辑链接在更新后断开
我创建了一个小型测试应用程序来探索热线,单击更新后我遇到了问题,我的编辑按钮不再起作用。我有一个工作模型,在节目中我可以单击编辑,涡轮框架将用编辑表单替换内容。然后我可以点击更新并更新显示内容而无需重新加载页面,但编辑按钮不再起作用。
工作展示 ERB
工作展示部分
作业控制器
工作模式
我注意到当它处于错误状态并且我无法点击“编辑”按钮时,如果我在浏览器中使用检查可以更改 turbo_frame 行,它就会起作用;
从
至
是什么将“src”选项放在该涡轮框架线上?我可以禁用它以使其正常工作吗?
ruby-on-rails - Turbo_stream 格式不再发送
我们目前正在努力将我们的网络应用搜索引擎从 Stimulus 更改为 Turbo。
然而,我们不断从我们的脚本中收到一个 HTML 请求而不是 Turbo 请求,并出现错误:“</p>
我们使用的是 7.0.0-beta.5 Turbo 版本。
看法
有什么建议吗?
javascript - 加载新的 Turbo Frame 时如何执行 JavaScript
我在我的 Rails 应用程序中使用 Turbo Frames,并且在每个页面上都有
这可以很好地加载,并且当单击链接时会按预期替换框架。在这个框架中我已经设置overflow-y: scroll
,在页面上创建一个可滚动的框架。每次在框架中加载新页面时,我都希望它滚动到底部。我怎样才能做到这一点?理想情况下使用原生 JavaScript。