问题标签 [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.
ruby-on-rails - 更新到 Ruby 3.0 后的 ArgumentError(参数数量错误(给定 2,预期为 1))
当我尝试将我们的网站更新到 Ruby 3.0.0 时,我收到此错误:
ArgumentError(错误数量的参数(给定 2,预期 1))
以下是与 Ruby 2.7.2 相同的命令
令人困惑的是,它也适用于与第一个示例具有相同 gem 版本的普通 ruby 脚本
有谁知道我可以从哪里开始解决这个问题?我们刚刚开始这个项目,我希望使用 Ruby 3
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 版本?
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 是最新的。谁能指出我正确的方向?
ruby-on-rails - 无法加载此类文件 -- webrick/httputils
我有一个项目我正在尝试使用 ruby 3(以前使用 2.7.2 运行),但无法完成。
用 ruby 版本更新我的 gemfile 并运行bundle
后,我在尝试访问时收到此错误rails c
:
我已经尝试添加 webrick gem 来看看会发生什么,结果是rails c
卡住了。
这是我的宝石文件:
有什么建议么?
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
任何建议如何调试它?
ruby - ruby 3数组参数splat与关键字参数
在 ruby 3 之前,可以这样做
它会正确分配
:ok 到 a 和 {ok: 2} 到 o
在 ruby 3 中调用
你会得到
是否可以解决将关键字参数保存在第二个位置的 splat 数组参数?
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 容器中运行。
有没有办法让日志查看启动过程中发生的事情?
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 相关的更新)。
关于如何消除或解决此错误的任何想法?我有很多宝石需要更新,我相信这不会是我最后一次看到这个错误。任何帮助将不胜感激。如果需要更多信息,请告诉我。
ruby - Ruby on rails,如何比较两个哈希值?
我正在尝试将一个哈希值与每个键的另一个哈希值进行比较。像下面一样
我需要比较第一个哈希数据中的特定值键,以与每个哈希值的第二个特定键值进行比较。就像从dept_id
file_data 与 db_data 比较所有键值dept
,如果没有得到则存储在变量中(不同的数据存储)