问题标签 [ruby-2.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 投票
0 回答
66 浏览

ruby-on-rails - Rails 从 4.2.5.1 升级到 4.2.7.1 中的 ActiveRecord 更改

我将 Rails 从 4.2.5.1 升级到 4.2.7.1,现在我的一些测试由于活动记录更改而失败:

有谁知道 ActiveRecord 的两个版本之间发生了什么变化以及我需要在我的代码中进行哪些更改以符合此要求?

由于升级,我有一些其他测试失败,但通过为这些 gem 指定旧版本来解决问题。不幸的是,由于此漏洞,我无法为 ActiveRecord 执行此操作:

0 投票
1 回答
36 浏览

yaml - Ruby 1.8 与 2.3 处理 YAML 配置数组的方式不同

我正在尝试升级具有由另一个人开发的 ruby​​ 脚本的服务器。我是一名 perl/php 开发人员,对 ruby​​ 了解不多,只是试图让使用 Ruby 1.8 开发的脚本正常工作,并且这些脚本在新版本中处理数组的行为似乎有所不同。该脚本未将迭代文件夹与具有文件夹名称的配置文件数组匹配,我相信我已将其归结为 YAML 配置文件转换为数组的方式。我把这个简单的脚本放在一起:

YAML testruby.yml 配置文件如下所示:

当我使用 Ruby 1.8 在原始服务器上运行它时,结果是:

但是当使用 Ruby 2.3 在新服务器上运行时,我得到一个数组:

它甚至会从配置文件中的文件夹名称键中删除下划线。出于这个原因,在脚本的后面,调用@config[1_01]当然不匹配。有没有办法让数组像 1.9 版一样构建,以便脚本的其余部分按设计工作?

还有一件事要注意,不确定它是否与问题有关。require 'yaml'脚本中不存在该行,我在运行时收到此错误后添加:

0 投票
1 回答
24 浏览

ruby-on-rails - 无法正确地通过rails方式或多态关系建立关系?

我正在使用 rails 5 和 Ruby 2.3
我有一个模型名称用户使用可以创建作业的设计创建,因此用于此的迁移是:

这些工作可以由其他具有 Cader 角色的用户完成。当 Cader 完成一项工作时,我将该用户的 user_id 存储在工作表中作为 cader_id 整数

正确的索引应该是在导轨中执行此操作的正确方法。所以如果我想搜索用户完成的所有工作,他们会快速搜索索引。

我可以搜索该用户创建的所有工作,例如

类似于搜索可以使用搜索的特定工作的用户

我怎么能像 Cader 一样搜索用户完成的所有工作

并搜索完成这项工作的特定 Cader

预先感谢

现在要搜索完成一项特定工作的 Cader,我已经编写了类方法,例如

0 投票
0 回答
64 浏览

ruby - 具有 CSV::Row 对象的二维数组在 ruby​​ 2.3 和 ruby​​ 2.6 中返回不同的结果

二维数组的元素是这样的 CSV::Row 对象。

[[csv_row_object]]

我试图展平这个数组并在 ruby​​ 2.3 和 2.6 中得到不同的结果。

为什么不同的结果?

0 投票
1 回答
30 浏览

ruby-on-rails - Time.current.tap{|t| t.change hour: 10 } 在 Rails 4.2 中不起作用

我试过了

小时没有改变...

我预计

真的我想要

0 投票
0 回答
463 浏览

logging - Ruby on Rails 将 ActiveJob 子类日志写入所需文件

红宝石:2.3.2

导轨:5.0.0.1

我有以下课程

我希望将每个 JobA、JobB、JobC 类写入的日志重定向到所需的文件。但是它不起作用。

我试过以下

/config/initializers/logging.rb

然后以下列方式更新我的工作课程

有了这个,只有"JobA log"被写入log/selected_jobs.log并且正在被写入JobB logJobC loglog/development.log

日志/selected_jobs.log

日志/development.log

从log/selected_jobs.log中也可以看出,作业日志不是以log/development.log格式写入的格式写入的。我需要将前一个文件中的日志以与后者相同的格式写入。

任何人都可以帮我实现想要的东西吗?

0 投票
1 回答
32 浏览

ruby-2.3 - 检查属于某个类别的所有产品是启用还是禁用?

我的产品属于一个类别,每个产品都有状态 enabled 和 disabled enum status: [:disabled, :enabled]。在类别页面上,我想检查类别中的所有产品是否全部启用。

true我尝试了下面的代码,它返回带有或false每个产品的数组

使用原始 mysql 查询是可能的。但是作为 Rails 的新手想知道如何使用 Rails 代码完成它

0 投票
2 回答
108 浏览

ruby - 从 0 开始注入是否与总和相同

我是 ruby​​ 新手,正在阅读一段代码

我意识到

也做同样的事情

就功能而言,两行代码都不会做同样的事情。就性能而言,使用 sum 是否有任何优势。

0 投票
2 回答
5013 浏览

ruby - 使用 RVM 在 OSX 10.15.2 Catalina 中安装 Ruby 2.3.8 时出错;未找到 OpenSSL

错误

Error running 'env GEM_HOME=/Users/john/.rvm/gems/ruby-2.3.8@global

2.3.8在 MacOs Catalina中尝试安装 ruby​​ 时遇到了这个错误10.15.2


日志输出

要点是


我试过

深入挖掘,我发现较新版本的 OSX 弃用了 OpenSSL,导致许多依赖项被破坏。您需要重新安装 ruby​​,但要准确指定 OpenSSL 库的位置。如果您使用的是 RVM,则如下所示:

但没有用,错误没有改变。

然后我尝试了

说,nokogiri 没有安装,

知道如何解决这个问题吗?

0 投票
1 回答
61 浏览

ruby-on-rails - 'joins' 查询不适用于将 ruby​​ 从 2.0.0 升级到 2.3.8

我刚刚将我的项目的 ruby​​ 版本从 ruby​​-2.0.0 更新到 ruby​​-2.3.8。现在更新后,在 Rails 中使用连接时似乎出现问题,我不明白为什么。这是下面的代码。

它向我返回了一个'#<#Module<:0x00000000088932f0>:0x44497e8>'无法访问的 Module 对象

但是当我在更新之前在我以前的 ruby​​ 版本中做同样的事情时

它给了我ActiveRecord:: Relation预期的对象

我没有遇到问题,所以如果有人可以提出建议。