问题标签 [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.
ruby-on-rails - 热线断开 link_to rails
我最近将 Hotwire 添加到我的 Rails 应用程序以更新模式,但这破坏了我将用户重定向到条带的 link_to。我在网上寻找解决方法,但由于 Hotwire 相对较新,我找不到它。有人对让 link_to 与 turbo 流一起使用有什么建议吗?
ruby-on-rails - Hotwire turbo 流返回 head :no_content
我有一个带有帖子和评论的系统,每个Post
has_many
Comment
s。我正在尝试设置一个涡轮流,以便在您发表评论时立即显示。
一切正常,数据被持久化到数据库中,但似乎涡轮流没有正确返回。当我点击“评论”按钮时,没有任何变化,我收到一条: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
页面上目前还不存在。
javascript - 将函数传递给刺激
我一直在为我的最新项目使用刺激,我喜欢如何将代码分解和模块化成小的可重用部分。
然而,有时生成一个新的控制器并将其作为元素属性只是为了赋予它特定的功能有点麻烦。
我不知道是否可以创建一个通用控制器并传递一个函数或回调来执行。所以我仍然可以保持精简和干净的代码
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
ruby-on-rails - Hotwire rails 应用程序:重定向到外部服务失败
我正在将话语单点登录与 hotwire rails 应用程序集成,一切正常,直到重定向,当它重定向时,我看到有 CORS 问题浏览器,当然它的 turbo 请求,所以它尝试从给定 URL 获取响应,所以它抛出 CORS 错误,我们如何可以在这里进行实际重定向吗?
编辑(1)
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
在控制器方法中添加了一个块,表单就会开始喜欢它。
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 是作者还是管理员(并且应该允许删除/编辑)?
ruby-on-rails - 将 Hotwire 集成到现有 Rails 项目中的问题
我刚加入这个社区,这是我的第一篇文章。
我一直在关注几个 Hotwire 教程,并使用该技术构建了一些原型。与 JS 前端框架相比,以更少的复杂性获得类似 SPA 的响应是多么容易,这给我留下了深刻的印象。
然而,我发现当我尝试将代码和流程从我的原型转换到我现有的 Rails 项目时,它根本无法正常工作。更糟糕的是我不知道为什么。
我尝试使用以下一般过程编写一些跟踪代码:
- 包括 Hotwire gem
- 通过终端命令安装 Hotwire
- 包括来自相关模型的广播
- 在视图级别应用 turbo_stream_from 标记作为侦听器
- 在您希望更新模型数据的位置包含一个 turbo_frame_tag
这在我的原型中可靠地工作,但在我现有的项目中不起作用。我怀疑这可能是因为我现有的项目没有使用最新版本的 Rails 或 Ruby?(升级也不是一件容易的事。)我目前使用的是 Ruby 2.7.1 版和 Rails 6.0.2 版。
我知道我应该提供一些我的项目代码,但我什至不知道从哪里开始。如果有人能够为我提供一些指导,我将不胜感激。谢谢!
编辑:如果它有帮助,那么这些是我在尝试让 Hotwire 自动更新索引页面上的模型实例列表时收到的终端消息类型。似乎广播正在工作,但我的听众却没有?
ruby-on-rails - 如何在 turbo_frame 中重定向表单?
我需要添加一个按钮来保存以下表单的数据,但是当按下它时会重置视图并停留在其中,而不重定向到控制器的索引,我尝试了一个 ajax 调用,但我不知道为什么它对我不起作用。如何提供解决方案并添加按钮以保存并继续?