问题标签 [ruby-on-rails-7]

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 投票
2 回答
168 浏览

javascript - 仅在带有 importmap 的 Rails 7 中将 Javascript 放置在一页中的位置

当使用带有导入映射的 Rails 7 时,我应该将只应由一个视图执行的代码放在哪里?

具体来说,我有一个视图需要在加载时运行一些 Javascript 代码。我的 Javascript 看起来像这样:

如何设置 Javascript 环境以使document.onreadystatechange代码仅由所需的视图执行?(当我将此代码放在由 导入的文件中时,几乎一切正常application.js,但随后它被每个视图执行。)

我怀疑答案是创建单独的 importmaps 和 importmap_tags;但是,我可以在 Rails 7 中找到任何关于如何做到这一点的演示。

0 投票
1 回答
853 浏览

jquery - Rails 7 Importmap Pins不兼容的Jquery源

问题

为什么 importmaps 命令生成的源不能与 Bootstrap 4.6.1 一起使用,但相同版本的 jquery 的修改源可以工作?

问题详情

我使用 importmaps 创建了一个 rails 7 应用程序来管理 javascript。

我正在手动固定旧版本的 Bootstrap (4.6.1)importmap.rb

当我运行 bin/importmap pin jquery以下被添加到importmap.rb

加载站点并查看 Chrome Web 工具会显示此错误消息,并且下拉菜单和手风琴等 jquery 功能不起作用

但是,当我手动将 jquery 源更新importmap.rb

错误消息已解决,功能已恢复。

在我看来,来源几乎相同,它们都是 jquery 3.6.0

工作配置

application.js

importmap.rb

0 投票
0 回答
28 浏览

ruby-on-rails - 部署在 heroku 应用程序上的 Rails 7.0 上的 AssetNotFound

我已经安装了一个新的 rails 7.0 应用程序,它在我的本地主机上运行良好,但是当我部署到 heroku 时,我收到以下错误。

0 投票
1 回答
100 浏览

javascript - 谷歌分析标签在 Rails 7 应用程序中不起作用

您好,有一个 rails 7 应用程序,想放置我的谷歌分析标签 js 片段。

我尝试的只是将此脚本添加到 application.html.erb,这不起作用(可能与 hotwire / turbo 有关)?:

0 投票
1 回答
161 浏览

ruby-on-rails - Rails 7:如何完全删除 Turbo?

我有一个 Rails 7 应用程序。经过一些开发,我发现 Turbo (Hotwired) 产生了太多问题,我不需要它来处理这个应用程序。

有没有办法从现有的 Rails 应用程序中完全删除 Turbo?

删除它的推荐方法是什么?

0 投票
1 回答
109 浏览

ruby-on-rails - Rails 7 更新在 Heroku 上的生产中断

第一次在这里发帖,请多多包涵……

我最近将我的 Rails 应用程序从 6.1.4 更新到了 7.0.1(最新的稳定版本)。我的测试套件仍然是绿色的,并且部署到 Heroku 成功。但是,当尝试打开应用程序时,我收到经典的“我们很抱歉,但出现了错误消息”。检查日志,这是输出:

错误消息 1 错误消息 2

我对 Rails/Heroku 部署还比较陌生,我不知道在哪里可以尝试解决这个问题。NoMethodError 没有在线显示很多解决方案,感谢任何帮助!先感谢您。

0 投票
1 回答
38 浏览

hotwire-rails - 在热线中重置表格

正如 hotwire登录页面上的示例所提供的,表单清除过程对我来说是不透明的,也不起作用。

安装了运行 ruby​​ 3.1 的 rails 7.0.1。刺激控制器设置为:

注意:DHH的例子只调用刺激,而rails预装的hello-controller.js指的是@hotwired/stimulus. 两个 syntassi 都试图无济于事。

表单元素的结构如下:

我看到提交动作(实际上是它的结尾)是连接。但它没有发生,而新记录已创建并且 UI 按预期更新。

为什么会失败以及应该如何解决?

0 投票
1 回答
78 浏览

ruby-on-rails - redirect_to 外部 Stripe 结帐 URL 在 Rails 7 中不起作用

对于 Stripe 的新结帐,需要在创建会话后重定向到外部 URL。

我的 redirect_to 没有带我去任何地方,终端也没有错误。如果我不包括,allow_other_host: true我会收到错误消息Unsafe redirect to "https://checkout.stripe.com

如何在 Rails 7 中强制重定向到外部 URL?为了这个演示应用程序,我不介意漏洞。

0 投票
1 回答
143 浏览

javascript - 在 Rails 7 应用程序中使用引导 javascript

我有一个使用 esbuild 作为 JS 捆绑器并导入了引导程序的 Rails 7 应用程序。

我试图弄清楚如何在主 application.js 文件“外部”访问任何 Bootstrap Javascript 功能 - 即假设我想以编程方式在特定页面上显示 Bootstrap 模式,如下所示:

但是这不起作用,因为“引导程序”未知:

...即使 application.js 中的页面链接:

关于如何在 application.js 本身之外的 JS 中访问“引导程序”的任何建议?

谢谢 !

0 投票
1 回答
259 浏览

ruby-on-rails - 在开发模式下使用引导程序的 Rails 7.0 应用程序

我创建了一个新的 Rails 应用程序,之后我安装了引导程序cssbundling-rails

我现在收到一个错误The asset "application.css" is not present in the asset pipeline.为了让应用程序运行,我需要运行以下脚本 "scripts": { "build:css": "sass ./app/assets/stylesheets/application.bootstrap.scss ./app/assets/builds/application.css --no-source-map --load-path=node_modules" }, 只有在那之后才会在资产/构建路径上创建一个应用程序文件。但是我不想每次更新 css 文件时都运行这个命令,我希望服务器在不运行 yarn 脚本的情况下选择这些更新。我怎样才能做到这一点?