问题标签 [ruby-2.4]

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

css - 如何管理 rails 项目中存在的 rails style.css 和 style.scss

嗨,我正在使用 Rails 5.2.1
ruby​​ 2.4.0
我在 rails 项目中有 style.scss 和 style.css 这两个文件。
该应用程序在开发环境中运行良好。
但是在 Nginx 服务器上的生产中通过预编译资产后

应用程序视图失真,浏览器给出 404 style.css not found 错误。
请更新当.css和scss都预设时如何管理资产中的这种情况,或者我应该将style.css文件的内容粘贴到style.scss文件的末尾。

0 投票
1 回答
277 浏览

ruby - Ruby 2.4 中出现 Unicorn 类型错误时该怎么办

我将 ruby​​ 从 2.1 升级到 2.4(ruby24, ruby​​24-devel), bundler(version: 1.17.3), nokogiri(version: 1.6.8), rails(version: 4.0.1), unicorn(version: 5.0.1) ,therubyracer(版本:0.12.3)。有如下故障:

我想知道是否有人知道该怎么做

0 投票
1 回答
268 浏览

carrierwave - Gem Carrierwave 不允许上传应用程序/八位字节流文件

使用 Rails 5.2、ruby 2.4 gemcarrierwave

当我使用扩展 mdl 和内容类型上传时: application/octet-stream 它返回文件保存以下错误

但是我已经包含了内容类型:application/octet-stream,如错误所示。我的上传器文件如下:

0 投票
2 回答
3983 浏览

ruby-on-rails - 捆绑安装不适用于 bundler 2.0.1 的 rails-4.2.6

RVM 已设置,ruby-2.4.0我创建了具有版本的新应用程序,

我更新了捆绑器使用,

但是我在出现以下错误时bundle install

它要求我提供所需的较低版本的捆绑程序,为什么?上面应该怎么解决?

0 投票
1 回答
801 浏览

ruby - How can I remove non-printable invisible characters from string?

How can I remove non-printable invisible characters from string?

Ruby version: 2.4.1

The word "Kanha" has 5 letters. However there is a 6th character that is not printable. How can I remove it?

By googling and SOing I have already tried few approaches, but as you can see none of those are helpful.

It is causing problems when I try to integrate out data with other systems.

0 投票
2 回答
213 浏览

ruby - Ruby 的 Regexp 插值是否会泄漏内存?

我的代码在 Ruby 2.4.4 上的 Sinatra 应用程序中泄漏内存,我可以在 irb 中重现它,尽管它并不完全稳定,我想知道其他人是否也有同样的问题。在正则表达式文字内插入大字符串时会发生这种情况:

现在,如果我GC.start在此之后运行,它通常会清理大约最后的 5MB(或者它一直在使用的多少),然后t.test只使用几 KB,然后几乎是 1 MB,然后是几 MB,然后回到每个 5MB时间,再一次,GC.start只会收集最后 5 个。

在没有内存泄漏的情况下获得相同结果的另一种方法是替换/#{STR}/iRegExp.new(STR, true). 这对我来说似乎很好。

这是 Ruby 中的合法内存泄漏还是我做错了什么?

更新: 好的,也许我误读了这个。我正在查看 docker 容器在运行后的内存使用情况,GC.start有时会下降,但由于 Ruby 并不总是释放它不使用的内存,我猜可能只是 Ruby使用了这个内存,然后,即使它没有被保留,它仍然没有将内存释放回操作系统。使用 MemoryProfiler gem,我看到 total_retained,即使在运行几次之后也是 0。

这里的根本问题是我们有容器崩溃,理论上是由于内存使用,但也许这不是内存泄漏,而只是缺少足够的内存来让 Ruby 使用它想要的东西?GC 是否有设置来帮助它在 Ruby 耗尽内存和崩溃之前决定何时清理?

更新2:这仍然没有意义 - 因为为什么Ruby会通过一遍又一遍地运行相同的进程来继续分配越来越多的内存(为什么它不使用之前分配的内存)?据我了解,GC 设计为在从操作系统分配更多内存之前至少运行一次,那么为什么当我多次运行时 Ruby 只是分配越来越多的内存呢?

更新 3:在我的独立测试中,Ruby 似乎确实接近了一个限制,无论我运行多少次测试(似乎通常在 120MB 左右),它都会停止分配额外的内存,但在我的生产代码中,我没有命中还存在这样的限制(它超过 500MB 而没有放慢速度——可能是因为在课堂上散布着更多这种内存使用的实例)。它会使用多少内存可能会有限制,但它似乎比运行此代码所需的预期高出许多倍(实际上一次运行只使用十几个 MB)

更新 4:我已将测试用例缩小到真正泄漏的范围内!从文件中读取多字节字符是重现真正问题的关键:

所以......这是一个真正的泄漏,对吧?

0 投票
2 回答
3076 浏览

ruby - Docker:Ruby 版本从 2.2.0 升级到 2.4.0

2.2.0在我的 Rails 应用程序中使用 Ruby 版本,Rails 版本是4.2.0. 目前,Project是通过docker构建的,所以我正在考虑将ruby版本升级为2.4.0version。

我相信我需要更改 docker 映像来升级 ruby​​ 版本。

我已经检查了一些文章,但没有得到足够的信息。

码头工人文件

一旦 ruby​​ 版本升级,我将升级 rails 版本。任何帮助将不胜感激。

0 投票
1 回答
21 浏览

json - 将 CSV 中的 Json 哈希转换为 ruby​​ 哈希

在 CSV 文件中,我有以下行:

我可以解析它并像这样得到我的 ruby​​ 哈希:

但是......当一个值包含分隔符(;)时它会失败,因为它被解释了

知道如何处理吗?谢谢

0 投票
1 回答
212 浏览

ruby-on-rails - 从 Rails 中错误消息的开头删除字段名称?

如何从错误消息的开头删除型号名称。在编写自定义消息进行验证时。我的验证是这样的:

但是 o/p: 就像:

电话 为了安全起见,请输入您的手机号码

我想删除字段名称,即。电话从错误信息开始。我将 Ruby 2.4 与 Rails 5.2 一起使用,请使用正确的语法指导将其删除。

0 投票
1 回答
187 浏览

ruby-on-rails - Ruby 2.4 模块名称与我的模型类名称冲突

我在 Rails 5.2.3 上将 Ruby 的版本从 2.3.8 升级到 2.4.4。

当我启动应用程序时,我收到此错误:

app/models/warning.rb:1:in `<main>': Warning is not a class (TypeError)

在控制台上调用时: Warning.class => Module

但实际上它是我的模型之一,称为Warning.

我在已发布的注释中看到了对ruby​​ 2.4 上一个名为Warning. 但是如何在不使用迁移重命名模型的情况下避免这种冲突呢?