最近在学习 Rails7 但是遇到了个问题不知道该如何继续 跪求大佬指点迷津 OTZ
在 Rails7 中 Turbo Stream 负责局部刷新页面 Stimulus 用来同步做其他 JS 操作 但是有个情况我不知道该如何处理 比如 像之前我们用 rails-ujs 的时候 用的是 .js.erb 文件 可以支持 ruby 代码 和 js
但是现在 局部刷新的文件是 .turbo_stream.erb 这个文件是可以直接拿到后台控制器中的实例变量进行操作的
但是 stimulus 的文件是 .js 无法对 rails 的 controller 中 实例变量 做类似 .valid? 这种操作
由于这两种方式是完全独立的 所以我不知道该如何在数据更新遇到失败时 不刷新页面的同时 (这个可以做到) 再阻止其他 JS 的操作 (臣妾做不到啊)
我用各种关键字搜索了好几天 都没有我想要的答案 一直在纠结这种问题 因为我们之前的项目用的是 Rails6 遇到过类似的操作 当时用的 rails-ujs 的 remote: true 再加个 .js.erb 文件 ruby 代码和 js 写在一起 很容易解决 您知道该如何解决吗?