问题标签 [ruby-3]

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 回答
2038 浏览

ruby-on-rails - 更新到 Ruby 3.0 后的 ArgumentError(参数数量错误(给定 2,预期为 1))

当我尝试将我们的网站更新到 Ruby 3.0.0 时,我收到此错误:

ArgumentError(错误数量的参数(给定 2,预期 1))

以下是与 Ruby 2.7.2 相同的命令

令人困惑的是,它也适用于与第一个示例具有相同 gem 版本的普通 ruby​​ 脚本

有谁知道我可以从哪里开始解决这个问题?我们刚刚开始这个项目,我希望使用 Ruby 3

0 投票
5 回答
12851 浏览

ruby - RVM,Ruby 3.0.0 在哪里?

我想使用 RVM 下载最新的 Ruby 版本(版本 3.0.0),但运行时遇到以下错误rvm install 3.0.0

我也尝试过3& 3.0,但给出了同样的错误。

根据这个页面,它应该可以通过 RVM 获得。我已经在使用 RVM 来管理我的 ruby​​ 版本,所以我不想使用rbenv……也不想从源代码安装。

如何3.0.0使用 RVM 安装 Ruby 版本?

0 投票
3 回答
10598 浏览

ruby-on-rails - Rails 6.1、Ruby 3.0.0:测试错误,因为它们无法加载 rexml

我已经使用 Ruby 3.0.0 从头开始​​创建了一个新的 Rails 6.1 应用程序。

我已经运行db:create并生成了一个带有一些字符串列的模型,然后是rails db:migrate.

我跑了rails test,但得到了这个 require rexml 错误:

我完全不确定是什么原因造成的。Rails 是最新的。谁能指出我正确的方向?

0 投票
1 回答
549 浏览

ruby-on-rails - 在 Rails Admin 中创建新对象在更新后不起作用

我正在用 Ruby 3 和 Rails 6.1 重写我用 Ruby 2.7 和 Rails 6.0 构建的项目。我正在使用 rails admin gem 以及 devise 和 cancancan。在我的旧项目中,创建一个简单的 EventCategory 对象没有问题。当我现在尝试时,我得到:

在此处输入图像描述

和:

这是我在 event_category.rb 中的模型

我真的很感激这个指导。

0 投票
2 回答
4995 浏览

ruby-on-rails - 无法加载此类文件 -- webrick/httputils

我有一个项目我正在尝试使用 ruby​​ 3(以前使用 2.7.2 运行),但无法完成。

用 ruby​​ 版本更新我的 gemfile 并运行bundle后,我在尝试访问时收到此错误rails c

我已经尝试添加 webrick gem 来看看会发生什么,结果是rails c卡住了。

这是我的宝石文件:

有什么建议么?

0 投票
4 回答
3519 浏览

ruby-on-rails - 升级到 ruby​​ 3 和 rails 6.1 后未定义的方法“file_fixture_path”

升级到 ruby​​ 3 和 rails 6.1 后,我的测试上线了

和:

错误堆栈指向 webmock-3.11.0/lib/webmock/rspec.rb:37

任何建议如何调试它?

0 投票
0 回答
121 浏览

ruby - ruby 3数组参数splat与关键字参数

在 ruby​​ 3 之前,可以这样做

它会正确分配

:ok 到 a 和 {ok: 2} 到 o

在 ruby​​ 3 中调用

你会得到

是否可以解决将关键字参数保存在第二个位置的 splat 数组参数?

0 投票
2 回答
2183 浏览

ruby-on-rails - 升级到 Ruby 3.0 后应用程序(rails 6.1.1)无法启动

这是宝石文件:

该应用程序似乎在Rails.application.initialize!. 我想知道它是否可能是与 Ruby 3.0 不兼容的 gem,但是我从头开始了一个新应用程序,安装了所有 gems 并且应用程序正常启动。

我使用 puma (5.1.1) 作为网络服务器。该应用程序通过 docker-compose 在 docker 容器中运行。

有没有办法让日志查看启动过程中发生的事情?

0 投票
1 回答
347 浏览

ruby - 从 Ruby 2.7 升级到 3.0 时出现 ArgumentError - 与位置参数和关键字参数的分离有关?

我正在尝试将 gem 从 ruby​​ 2.7.0 升级到 3.0.0。我已经尝试阅读并提前计划我会遇到哪些障碍,例如Separation of positional and keyword arguments

我已经顺利更新了两个 gem,但是我已经开始升级第三个,并且在使用 RSpec 测试 3.0 更新时遇到了以下错误:

我正在尝试通过工厂实例化一个类。堆栈跟踪指向此函数的参数:

虽然我认为这并不重要,但我已经包含了 rubocop 禁用/启用行,以防万一它们很重要。

工厂以这种方式调用类:

现在,当我窥探 data 和 Long::Class::Name.new(data) 之间的代码并实例化我自己的 Long::Class::Name 时,如下所示:

它会在没有 ArgumentError 的情况下成功创建。

我心想,“很酷,我只需将 Factory 的 Class 调用更新为这种新格式并重新运行测试即可。” 这样做之后,我仍然得到与上面相同的 ArgumentError。

相信这是我上面链接的位置/关键字参数的问题,但我无法看到如何纠正这个问题。除了上面的链接,我还研究了Ruby 3 Keyword Arguments以及Hash and Keyword Coercion 和 Ruby 3 Changes。我相信我正面临最后一个链接的“不可预见的后果”部分。

从 Ruby 2.7 更新到 Ruby 3.0 后,我还查看了有关 ArgumentError 的 Stack Overflow 问题,并试图了解如何使用第一个答案的第一部分来帮助我解决问题(忽略与 PR 相关的更新)。

关于如何消除或解决此错误的任何想法?我有很多宝石需要更新,我相信这不会是我最后一次看到这个错误。任何帮助将不胜感激。如果需要更多信息,请告诉我。

0 投票
2 回答
38 浏览

ruby - Ruby on rails,如何比较两个哈希值?

我正在尝试将一个哈希值与每个键的另一个哈希值进行比较。像下面一样

我需要比较第一个哈希数据中的特定值键,以与每个哈希值的第二个特定键值进行比较。就像从dept_idfile_data 与 db_data 比较所有键值dept,如果没有得到则存储在变量中(不同的数据存储)