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

ruby-on-rails - 使用 Hotwire Rails 广播到用户的 Turbo 流

我想在 Rails 中使用 Hotwire 流式传输模型更新。在文档中,他们提到使用模型创建流,但我想为每个用户创建一个动态流,以便用户对模型所做的更改仅流向该用户。

我有一个 VideoCall 模型,它通过一个连接表拥有并属于许多用户,所以模型看起来像这样,我有一个这样的广播

在 ERB 模板上,我想获取我添加的模型的更新

如果我在 users_video_calls 表中有一个用户,则此方法有效。但是一旦 video_call 中有多个用户,它就不起作用,我想向所有这些用户的流进行广播。

我采用的方法是否正确以及如何实现向多个用户流的动态广播。

0 投票
0 回答
205 浏览

ruby-on-rails - Update Rails to Hotwire Gives a 304

I've updated a Rails '6.0.3' app to use hotwire-rails rather than turbolinks and am getting a 304 for the response with no update to the view within the turbo_frame_tag

I created a new Rails app from scratch and implemented hotwire successfully so I'm guessing the issue is with residual Javascript in my existing app.

Server request

The server request matches that of the new app so it doesn't appear to be the issue, note the 200 status code.

Browser

The browser response seems to be identical except for the status code being 304 rather than 200 and obviously no view change rendered.

enter image description here

Steps to recreate

  • Existing Rails '6.0.3' app
  • Update Gemfile to remove tubolinks and webpacker
  • trash app/javascript
  • trash node_modules/**
  • rails hotwire:install

Extra info

When I ran rails hotwire:install I get a File unchanged! The supplied flag value not found! app/assets/config/manifest.js message - I've checked the file and it's identical to the one generated in the new app.

0 投票
1 回答
281 浏览

ruby-on-rails - 使 Turbo Demo 应用程序与本地 Rails 服务器一起工作

我已经建立了一个使用 Turbo 的本地 Rails 应用程序。我正在尝试填充Turbo Demo iOS 应用程序以显示我的本地 Rails 应用程序。有没有人能够做类似的事情?

我切换Demo.current到使用本地地址,但所有请求都显示“错误加载页面”屏幕,演示应用程序中没有有用的日志。

Rails 应用程序将我的基本路线显示为正在尝试,并具有某种形式的持久性并重试401错误。我将SceneController默认 URL 更改为加载 a /networks/all-people,这需要授权用户(通过设计)希望看到身份验证逻辑将如何进行。下面是运行 Demo 应用程序时的 Rails 输出:

有没有人能够让 Demo 应用程序与本地 Rails 服务器一起工作?我完全不确定这里发生了什么错误,或者在这里匀场是否是一个好主意。

Turbo 正在加载,正如从我的浏览器访问时触发的以下事件侦听器所验证的那样。

0 投票
2 回答
331 浏览

ruby-on-rails - 运行 hotwire:install 后,无法推送到 Heroku

所以我构建了一个基本的应用程序,然后我准备测试一个“生产”原型,它不会推送到 Heroku。虽然在本地运行良好。所以我运行了这些步骤,在每个步骤之后立即推送一个 git,在不同的目录中,发现是在我运行 hotwire:install 之后它失败了。

脚步:

如果您能够确定问题,请告诉我。我可以看到这是一个模块错误,但它只发生在 hot-wire:install 上。

0 投票
1 回答
628 浏览

javascript - Hotwire:如何将广播对象的两个部分渲染到两个不同的页面上?

对 Stimulus 和 Hotwire 比较陌生,想知道,

“有没有办法在两个不同的页面上为同一个广播对象渲染两个不同的部分?

我正在尝试将页面上的对象从一个控制器渲染和广播到具有不同样式的不同控制器的另一个页面。

示例如果我<%= render @live_room.room.questions %>在页面中live_room.html.erb 打印并<%= render @room.questions %>show.html.erb

他们都渲染了部分_question.html.erb

我想根据页面呈现不同的设计。

有没有人遇到过这个问题或知道如何解决这个问题?我很想得到一些见解!

干杯!

0 投票
2 回答
925 浏览

ruby-on-rails - Rails Hotwire 不更新页面

我熟悉 ROR,我想在我的项目中使用新的 Hotwire-Rails。我创建帖子时不好。但是当我更新/删除帖子时,页面上什么也没发生。你能告诉我我在哪里做错了吗?最后我想在创建新帖子时发出声音我该怎么做?谢谢您的回答。

我的“宝石文件”

应用程序.js

应用程序.html.erb

Post.rb

post_controller.rb

帖子/index.html.erb

帖子/_post.html.erb

0 投票
1 回答
162 浏览

stimulusjs - 具有相同控制器的嵌套元素

所以我有这种情况,我有一个默认隐藏的列表,当你点击一个按钮时,它会切换可见性。

这是我的控制器

这工作得很好。

但是,在可折叠列表中,我还有其他可折叠项目。

这就是我想要实现的

在此处输入图像描述

这是代码

使用当前的实现,当我单击显示时,两个可折叠项都会显示

在此处输入图像描述

0 投票
0 回答
124 浏览

ruby-on-rails - 使用外部 api 更新 Rails db

有人可以帮我弄清楚在我点击保存后如何更新 current_price 列吗?我正在尝试将 Hotwire 与我的 rails 应用程序一起使用,当我最初从表单中保存数据时,它工作正常,但是当我尝试更新数据后,它会欺骗一切

这是我的 stock.rb 模型

和我的股票部分

而我试图做的是将以下内容添加到控制器索引方法中,该方法将在加载索引页面时更新 current_price 列,但它所做的只是欺骗每一行然后消失......id喜欢在更新时更改它页面加载到按钮点击更新,但我什至无法弄清楚这个?

0 投票
3 回答
963 浏览

ruby-on-rails - 使用 Hotwire Rails 时如何显示设计登录表单错误

我已经按照这个 GoRails 视频让 Devise 使用hotwire-rails。我不知道为什么我的登录错误消息与视频中的工作方式不同。错误消息在注册表单上效果很好,但在登录表单上我收到此错误:

正如 Chris 在视频中建议的那样,我将我的 Devise 初始化程序编辑为如下所示

我的 package.json 有@hotwired/turbo-rails": "^7.0.0-beta.5,但在 Chris 的源代码中,beta.3这似乎不是问题。

我在这里想念什么?

0 投票
1 回答
237 浏览

ruby-on-rails - Rails 6.1 中没有 bin/bundle 文件,无法获取 TURBO_STREAM 请求格式

当我运行 rails turbo:install 它时Errno::ENOENT: No such file or directory - bin/bundle

在带有 turbo-rails gem (v0.5.9) 的新 rails 6.1.3 应用程序中没有 bin/bundle 文件

我不知道这是否与请求不会作为 TURBO_STREAM 发送的事实有关,即使它来自 Turbo Frame 内的链接。

任何线索如何解决?


更新:我从另一个发送 TURBO_STREAM 格式的应用程序复制了 bin/bundle,但它仍然只在新应用程序中发送 HTML (webpacker@^6.0.0-beta.5)。