gpt4 book ai didi

ruby-on-rails - 在生产中出现语法错误但在开发中没有出现(相同的文件)

转载 作者:数据小太阳 更新时间:2023-10-29 08:17:05 27 4
gpt4 key购买 nike

我用 Meld 检查过 - 文件完全相同。以下代码在我的本地机器上运行良好,但我的生产服务器因此而宕机:

- selections = {"All": 0, "Last 30 days": 30, "Last 15 days": 15, "Last 7 days": 7,"Last 24 hours": 1}

"All": 0 更改为 "All"=> 0 等修复了它。

我猜这是因为我的 Ruby 版本 是 2.3.0,而在生产服务器上是 2.1.5。或者这是别的东西?这是我第一次让网站崩溃,这似乎是我被绊倒的一件愚蠢的事情。

最佳答案

您正在那里定义 Ruby 哈希。在 Ruby 2.2 及更高版本上,所有这三种变体都是等效的:

{:a => "hello", :b => "World"} # allowed since always
{a: "hello", b: "World"} # allowed since Ruby 1.9
{"a": "hello", "b": "World"} # Allowed since Ruby 2.2

不过,上一个示例中使用的语法仅在 Ruby 2.2 中添加。由于您在服务器上运行的是旧版本的 Ruby,因此您必须调整代码中使用的语法以适应其他两种变体之一。或者,您可以将服务器上的 Ruby 版本更新为更新的版本。

作为最后的忠告:您通常应该密切匹配生产和开发期间使用的 Ruby 版本。该语言不断发展并增加了功能。像这样的事情应该及早发现。至少在服务器使用的相同 Ruby 版本上运行测试。

关于ruby-on-rails - 在生产中出现语法错误但在开发中没有出现(相同的文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39263001/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com