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

ruby-on-rails - 如何转换 minitest 创建测试以适应 turbo_stream?

在 minitest 中,在 Hotwire 之前,创建测试可能如下所示:

将 create controller 操作更改为 respond_to :turbo_stream 后,上述测试将不再正确执行。我试过简单地将 format: :turbo_stream 作为参数哈希的一部分传递......但是,这也不起作用。

必须有一种 Rails 7 方法来测试它。Minitest 可能尚未针对这些新功能进行更新。

有没有人为这种新格式更新了他们的测试?

0 投票
1 回答
843 浏览

ruby-on-rails - Rails 7中的importmap-rails,这可能吗?

我已经在 importmap-rails gem github 存储库中打开了一个关于这个的问题,但我想我会在这里提出这个问题,以防有人有解决方法

这是我迄今为止发现的

使用 Rails 7 alpha 2 或 Rails 7.0rails plugin new custom_page --mountable --full生成的新引擎生成一个新引擎,该引擎在捆绑的 gem 中包含 importmap-rails gem,但无法使用它。添加spec.add_dependency 'importmap-rails'到enginename.gemspec 没有区别,也没有添加require importmap-rails到engine.rb。bin 目录中没有 importmap 可执行文件。调用bundle info importmap-rails 产生一个有希望的结果,表明 gem 是默认安装的

来电rails --tasks显示

但我相信这是来自 --full 选项生成的测试应用程序,而不是可用于引擎的 rails 命令。我希望在没有应用程序的情况下看到相同的内容:前缀对此任务的调用解析为模板错误,如图所示

不知道如何构建任务 'app:template' (查看可用任务列表rails --tasks) 你的意思是?应用程序:tmp:创建

如果对此有解决方法,我将不胜感激,我相信其他人也会。我想要这个的原因是我完全没有在 rails 6.1.4 引擎中引入 webpacker,我希望这将是我的,大大改进的解决方案

0 投票
0 回答
365 浏览

ruby-on-rails - 如何在 rails 6 或 rails 7 alpha 引擎中使用 jqueryUI

如果有人能展示在 rails 6 或 rails 7 Alpha 2 引擎中使用 jquery ui 所需的确切步骤,我将不胜感激。我无法让 importmap-rails 在 rails 7 引擎中工作,也无法让 webpacker 在 Rails 6 引擎或 rails 7 alpha 2 引擎中工作。给定一个名为 custom_page 的引擎,使用生成

我将 jquery-ui-rails 作为依赖项包含在 gemspec 中。

也许这应该是 runtime_dependency?依赖项的完整列表是

我在engine.rb中也需要同样的东西

我在视图中添加了一个简单的测试

我已将要求包含在app/assets/stylesheets/custom_page/application.css

而且在 app/assets/config/custom_page_manifest.js

在 Firefox 显示中检查浏览器控制台时出现错误

我显然在这里展示了 Rails 7 alpha 2 示例,但是使用 rails 6.1.4 也会出现同样的问题

本练习的目的是让我能够使用 jquery 库 jqtree,如果我能够使用 importmap-rails,那么设置将很简单,但是,根据我的未回答问题我无法这样做。

所以我真的在问如何在 Rails 6.1.4 引擎或 Rails 7 alpha 2 库中使用 jquery 库

0 投票
2 回答
629 浏览

ruby-on-rails - 在生产环境中使用 Rails 7 中的 importmaps 时出现 404 错误

我不确定这是 importmaps 问题还是其他问题,但在 Rails 7.0.0.alpha2 中,我在 javascript 文件上遇到 404 错误。

在此处输入图像描述

想知道我是否缺少某种生产“编译”步骤,因为它在开发中运行良好。

然后在我的app/views/layouts/application.html.erb文件中,我<%= javascript_importmap_tags %>用来包含所有内容。

如果我设置config.assets.compile = trueproduction.rb错误就会消失......但我不确定为什么或是否解决了核心问题。

0 投票
2 回答
823 浏览

ruby-on-rails - Rails bundle install 在任何源中都找不到 turbo-rails-7.1.1

在运行 Ubuntu 20.10 的全新 digitalocean droplet 上运行一个全新的非常接近空的 rails 7 alpha 2 应用程序bundle install,在我的本地机器上运行 cap production deploy 以及从 droplet 上的命令 shell 运行时,结果如下

我在本地对此没有任何问题,因此这必须是生产服务器上的环境问题或我在这里错过的某些配置选项。我正在使用正确配置的最新稳定 rvm,

我使用 capistrano 脚本部署应用程序,并使用 nvm 安装了最新的稳定版本节点。Bundler 在两个环境中都是相同的版本,并且 turbo-rails-7.1.1 没有出现在我的 gemfile.lock 中的任何位置

0 投票
0 回答
52 浏览

ruby-on-rails - Rails 7引擎初始化程序挂钩不起作用

试图让我的 gem 在 Rails 7 中工作。我已经确认它在 Rails 6.1.4.1(最新)中工作。

在我的引擎的 engine.rb 文件中,我有这个......

在服务器启动或运行控制台时,我得到...

uninitialized constant MyEngine::MyController (NameError)

我在其命名空间目录中有 gem 控制器,并重申这在 Rails 6.1 中有效。

我也尝试过这些变体,但出现相同的错误......

如果我将以下内容放在主应用程序的 ApplicationController 中,那么它可以工作......

是否有人对如何调用这些钩子有任何见解,或者我应该将此作为错误报告给 Rails 团队吗?

0 投票
2 回答
892 浏览

ruby-on-rails-7 - 错误:表单响应必须重定向到另一个位置

我需要渲染从 API 收到的 html 代码。

在 Rails 6 中:我在控制器中执行此操作,并且运行良好。我调用了收到响应的 web 服务,然后我被重定向到渲染生成的代码。美好的 !

新的.html.erb:

没有:create.html.erb

** 导轨 7 **

我打电话给网络服务。我得到了答案,但我的页面空闲,我收到了这个错误。

Error: Form responses must redirect to another location at FormSubmission.requestSucceededWithResponse (application-0f0c10fb8f5683e32fc53a93a8a323c328de61682ca16fb65a6a2b8a3ba5d087.js:1614) at FetchRequest.receive (application-0f0c10fb8f5683e32fc53a93a8a323c328de61682ca16fb65a6a2b8a3ba5d087.js:1390) at FetchRequest.perform (application-0f0c10fb8f5683e32fc53a93a8a323c328de61682ca16fb65a6a2b8a3ba5d087.js:1374)

到目前为止,我尝试过:

没有成功......你有什么想法吗?不然会是个长周末^^

0 投票
3 回答
1073 浏览

ruby-on-rails - Rails 7 资产管道 SassC::SyntaxError 与 Tailwind

我正在努力将一个新的 Rails 7 项目部署到生产中(在 Heroku 和 Render.com 上尝试),并且在构建过程中出现以下错误:

这就是我认为相关的部分,但如果有帮助,这里有更多的输出上下文。

我使用rails new project_name -j esbuild --css tailwind. 开发模式工作正常,只是生产部署。

我不确定从哪里开始调试它。

0 投票
2 回答
600 浏览

ruby-on-rails - assets:precompile 导致 LoadError: cannot load such file -- sassc

esbuild使用with 的新 Rails 7 应用程序tailwind

当我运行时rake assets:precompile,我收到此错误:LoadError: cannot load such file -- sassc

由于 SaasC 语法错误,我删除了sassc-railsgem 。

这是本地预编译的完整输出......

这是 Heroku 的输出......

不知道还有什么可以在这里尝试的。

0 投票
1 回答
32 浏览

ruby-on-rails - Rails form helper for type tsrange

I've got a record with a period field of type tsrange. I'm making a form to create it, and I'd like to keep using rails form helpers - I was wondering if there was some kind of convention for setting the date for the range's begin and end?

In my view this:

Results in an error undefined method 'strftime' for Mon, 01 Jan 1996 09:00:00 +0000..Mon, 01 Jan 1996 17:00:00 +0000:Range

Which makes sense, since I can't directly create one input for the range, but there doesn't seem to be any way to unpack the range attribute into its begin and end methods with something like

<%= record_form.datetime_local_field :period_begin %>

Since that errors with

undefined method 'period_begin' for #<ShiftPeriod id: nil, shift_pattern_id: nil, period: Mon, 01 Jan 1996 09:00:00 +0000..Mon, 01 Jan 1996 17:00:00 +0000, created_at: nil, updated_at: nil>

Other than building the inputs manually, is there any way to build the inputs for this range field type? Thanks!