问题标签 [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.
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文件的末尾。
ruby - Ruby 2.4 中出现 Unicorn 类型错误时该怎么办
我将 ruby 从 2.1 升级到 2.4(ruby24, ruby24-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)。有如下故障:
我想知道是否有人知道该怎么做
carrierwave - Gem Carrierwave 不允许上传应用程序/八位字节流文件
使用 Rails 5.2、ruby 2.4 gemcarrierwave
当我使用扩展 mdl 和内容类型上传时: application/octet-stream 它返回文件保存以下错误
但是我已经包含了内容类型:application/octet-stream,如错误所示。我的上传器文件如下:
ruby-on-rails - 捆绑安装不适用于 bundler 2.0.1 的 rails-4.2.6
RVM 已设置,ruby-2.4.0
我创建了具有版本的新应用程序,
我更新了捆绑器使用,
但是我在出现以下错误时bundle install
,
它要求我提供所需的较低版本的捆绑程序,为什么?上面应该怎么解决?
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.
ruby - Ruby 的 Regexp 插值是否会泄漏内存?
我的代码在 Ruby 2.4.4 上的 Sinatra 应用程序中泄漏内存,我可以在 irb 中重现它,尽管它并不完全稳定,我想知道其他人是否也有同样的问题。在正则表达式文字内插入大字符串时会发生这种情况:
现在,如果我GC.start
在此之后运行,它通常会清理大约最后的 5MB(或者它一直在使用的多少),然后t.test
只使用几 KB,然后几乎是 1 MB,然后是几 MB,然后回到每个 5MB时间,再一次,GC.start
只会收集最后 5 个。
在没有内存泄漏的情况下获得相同结果的另一种方法是替换/#{STR}/i
为RegExp.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:我已将测试用例缩小到真正泄漏的范围内!从文件中读取多字节字符是重现真正问题的关键:
所以......这是一个真正的泄漏,对吧?
ruby - Docker:Ruby 版本从 2.2.0 升级到 2.4.0
我2.2.0
在我的 Rails 应用程序中使用 Ruby 版本,Rails 版本是4.2.0
. 目前,Project是通过docker构建的,所以我正在考虑将ruby版本升级为2.4.0
version。
我相信我需要更改 docker 映像来升级 ruby 版本。
我已经检查了一些文章,但没有得到足够的信息。
码头工人文件
一旦 ruby 版本升级,我将升级 rails 版本。任何帮助将不胜感激。
json - 将 CSV 中的 Json 哈希转换为 ruby 哈希
在 CSV 文件中,我有以下行:
我可以解析它并像这样得到我的 ruby 哈希:
但是......当一个值包含分隔符(;
)时它会失败,因为它被解释了
知道如何处理吗?谢谢
ruby-on-rails - 从 Rails 中错误消息的开头删除字段名称?
如何从错误消息的开头删除型号名称。在编写自定义消息进行验证时。我的验证是这样的:
但是 o/p: 就像:
电话 为了安全起见,请输入您的手机号码
我想删除字段名称,即。电话从错误信息开始。我将 Ruby 2.4 与 Rails 5.2 一起使用,请使用正确的语法指导将其删除。
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
. 但是如何在不使用迁移重命名模型的情况下避免这种冲突呢?