问题标签 [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.
ruby-on-rails - 带有 Ruby 2.3.3 和 Rails 5 的 Ubuntu 上的 Net::OpenTimeout
我正在将我们的 Rails 应用程序从 Rails 4.2 升级到 5 以及从 Ruby 2.2.3 升级到 2.3.3。我们使用的 delay_job 进程之一缓存来自网络上其他地方的图像。缓存的图像是通过 s3 支持的回形针存储的,但似乎是读取间歇性失败——每个作业运行缓存大约 40-60 个图像,并进行适当的节流,这样缓存就不会下沉服务器,大约 80总作业针对数据的各个段运行 - 每个作业启动,缓存一些图像,然后在下面的堆栈跟踪中爆炸。
注意:
- 这发生在我们运行 Ubuntu 12.04.5 LTS 的登台服务器上;在 Mac OS X 上的开发中,这不会发生在我身上
- 根据此处有关 Net:OpenTimeout 错误的其他讨论,我已尝试在暂存服务器上禁用 IPv6;这似乎可以防止错误,但似乎是一个kludge
- 在服务器上运行 Ruby 2.2.3 和 Rails 4.2.7 并没有发生这种情况,但在 Ruby 2.3.3 和 Rails 5.0.1 中运行;除了那些更新(并在发生错误后更改 IPv6 设置),我没有对服务器配置进行任何更改
- 使用相同代码、Rails 5.0.1 和 Ruby 2.2.3 进行的初始测试表明,该问题可能仅在 Ruby 2.3 下发生(此时很难说,它成功运行了 80 个作业中的 10 个)
任何建议表示赞赏。堆栈跟踪指向第 1041 行,这是 open(URI.parse...) 行,而不是 file.write 行,所以我认为将图像缓存起来是一个问题,而不是将其写入 s3。
和堆栈跟踪:
ruby - 在 Ruby 中创建一些可读的单词
我正在尝试在包含大写、小写、数字和特殊字符的 ruby 中创建一些可读的单词,例如:
要在 ruby 中创建随机字符串,您可以执行以下操作:
有没有办法确保随机字符串有点可读?包含常数、元音等。具有特殊字符和至少一个数字而不使用外部宝石?
ruby - 用任何不是字母的东西分割数组
我有一个类将检查用户环境以了解他们是否已python
安装,这些类的目的是检查用户是否安装了多个版本的 python 并且不默认为三个:
现在这有效,但它只适用于 Windows 和少数 Linux OS
,显然Parrot
不是其中之一。有没有办法#split()
通过任何不是字母的东西来设置环境变量?例如:
Windows 环境变量:C:\Python27\;C:\Python27\Scripts;C:\ProgramData\Oracle\Java\javapath
Parrot OS 环境变量:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
请注意变量是如何被分号(;
)或冒号(:
)分割的,有没有一种方法可以在 ruby 中使用该#split()
函数并被任何非字母数字字符或数字分割?或者有没有更好的方法来确保用户python 2.7.x
在他们的环境变量中有?
ruby-on-rails - Ruby 2.3.3:奇怪的 Tempfile.new([name, prefix]) basename 转换为哈希
为我们的 Rails 3.2.22.2 应用程序测试升级到 Ruby 2.3.3,并得到一个奇怪的情况,我们将数组作为第一个参数传递给Tempfile.new
,但它最终以哈希的形式出现。
我已经修补tempfile.rb
以输出basename
传入的参数。
在irb
会话(非 Rails)中,一切都很好:
在一个rails console
会话中:
必须是宝石或其他东西,但我一生都无法弄清楚为什么会发生这种情况,或者在哪里或在什么地方改变了行为。
关于如何调试的任何想法或建议?
imagemagick - Paperclip 5.1.0 - Rails 5 - 图片上传后出现丢失
如果我尝试上传图片信息出现:
然后显示“失踪”
在 Git Bash 中,出现:
此外,当我安装回形针时出现以下消息:
执行安装回形针的操作:
使用的版本:
进行了测试,但不是决定性的:
在 app> model> content.rb 中添加:
:default_url => "/images/:style/missing.png"
在 config/environments/development.rb 中添加:
Paperclip.options[:command_path] = "/usr/local/bin/"
Paperclip.options [: command_path] = 'C:\Program Files (x86)\GnuWin32\bin
添加在 - 添加在 app> model> content.rb 中:
Paperclip.options[:command_path] = 'C:\Program Files (x86)\GnuWin32\bin; C:\程序文件\ImageMagick-7.0.4-Q16'
Paperclip.options [:swallow_stderr] = false
ruby - 为什么这个 switch 语句不起作用?
我有这个代码
出于某种奇怪的原因,不是将 cluck cluck 放在第四行或将 cluck 放在第 24 行,它只是放置 1 到 100 的列表。我无法弄清楚 switch 语句有什么问题。使用逗号或 && 时的第一个也不会改变任何东西(我不相信它应该这样做)。
ruby - Ruby 2.3 编写 UTF-16LE gzip 文件
我有这段代码,使用 Ruby 2.3.1 运行:
并返回 [无效编码]
如何以将编码保持为 UTF-16LE 的方式保存文件?
ruby - find whether a zipped file is text or binary without unzipping it
I'm creating a ruby script which goes through several zip files and validates the content of any xml files within. To optimise my script, I'm using the ruby-zip gem to open the zip files without extracting them.
My initial thought was to use filemagic to determine the MIME-type of the files, but the filemagic gem takes a file path and all I have are these Entry and InputStream classes which are unique to ruby-zip.
Is there a good way to determine the filetype without extracting? Ultimately I need to identify xml files, but I can get away with identifying plain-text files and using a regex to look for the
ruby-on-rails - rails dot notation 不再适用于访问哈希值给出 NoMethodError
我正在rails 5
使用ruby 2.3.3
. 今天我添加了一个gem,有版本冲突所以我把gem拿出来了。从那时起,点符号等hash.test
不再起作用。它给NoMethodError: private method test called for {:test=>"value"}:Hash
如何再次使用点符号访问哈希?
sql - Rails:查询 nil has_one 关联
我有两个模型:Patient
和CodeStatus
.
CodeStatus belongs_to
Patient 和 Patient has_one
CodeStatus
我正在尝试查询所有患者在哪里patient.code_status
是零。我惊讶地发现Patient.where(code_status: nil)
投掷不起作用:column patients.patient_id does not exist
我已经找到了这个(相当老的)答案,但我很难相信查询这个问题的最佳方法是通过一长串原始 SQL。我认为 rails 会像许多其他协会一样包含这个助手。有谁知道一个不那么冗长的解决方案?提前致谢。