问题标签 [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.
ruby-on-rails - 是否可以在 Ruby 2.4 上运行 Rails 4.2 应用程序?
我想在 Ruby 2.4 上试用 Rails 4.2 应用程序。
但是,当我尝试这样做时,我收到有关 json gem 版本 1.8.3 无法安装的错误。
我认为这是由于 Fixnum 和 Bignum 统一为 Integer。
如果我在 Gemfile 中添加 json 必须是 2.0.0 版本的约束,那么它会抱怨 Rails 4.2 需要 json ~> 1.7,它禁止 2.0.0。
除非 Rails 的维护者决定对 Rails 的非 5.x 版本进行更改,或者 json gem 的维护者决定为他们的 gem 制作一个新的非 2.x 版本,否则我会不走运吗?
ruby-on-rails - Ruby 2.4 升级后 - 尝试加载 gem 'uglifier' 时出错 (Bundler::GemRequireError)
我刚刚升级了我的应用程序以使用 Ruby 2.4.0,在捆绑过程中没有任何错误。但是,当我尝试启动服务器时,出现以下错误:
我在此站点上的其他答案中发现您需要添加gem 'therubyracer'
到您的 Gemfile 中,但自从创建我的应用程序以来我已经有了它。
我的机器上也安装了最新版本的 NodeJS。
有没有其他人遇到过这个错误并且知道如何解决它?
Gemfile 中的 uglifier 配置:gem 'uglifier', '~> 3.0.4'
全栈跟踪:
arrays - 在 Ruby 中,如何检查数组中至少 80% 的元素是否与模式匹配?
我正在使用 Ruby 2.4。如何检查数组中至少 80% 的元素是否与某个模式匹配?我想看看每个元素是否与正则表达式匹配
ruby-on-rails - 在 Rails 中动态包含对象的关联
我目前正在开发一个小型 Rails 5 应用程序,我需要根据某些事件将 ActiveRecord 对象传递给外部服务。在我的模型中,我定义了以下内容:
然后EventHandler
将此对象转换为 JSON,并通过 HTTP 请求将其发送到外部服务。通过调用.to_json
该对象,这将呈现一个 JSON 输出,如下所示:
现在,我需要一种将所有第一级关联直接包含在其中的方法,而不仅仅是显示foreign_key。所以我正在寻找的结构是这样的:
我的第一个想法是像这样反思模型:在这种情况下,用户的实例object.class.name.constantize.reflect_on_all_associations.map(&:name)
在哪里object
,并使用此列表循环关联并将它们包含在输出中。不过,这似乎相当乏味,所以我想知道是否有更好的方法可以使用 Ruby 2.4 和 Rails 5 来实现这一点。
arrays - 如何切换字符串中单词的位置?
我有一个字符串数组,每个字符串中至少有一个空格。对于数组中的每个元素,我想将字符串的最后一部分放在开头。因此,例如,如果我的数组中有这个
我希望结果是
我试过这个
但唯一的问题是,如果字符串包含两个以上的单词,则上述内容不起作用。如果一个字符串有两个以上的单词,比如
我希望结果是
但我上面的功能并没有做到这一点。我怎样才能改变我的功能,使它能够做到这一点?
arrays - 如何扫描除一个索引之外的数组的每个元素?
我正在使用 Ruby 2.4。如何扫描数组的每个元素以查找除数组中一个索引之外的条件?我试过这个
但出现以下错误:
但显然我在网上读到的关于“除外”的内容被大大夸大了。
ruby-on-rails - 在 Capistrano 部署期间使用 Rails 5、Ruby 2.4 和 Capistrano 3 发送电子邮件
具体来说,Capistrano 3.7.2、Rails 5.0.2 和 Ruby 2.4.0。我得到的错误发生在Execute load:defaults
:
我即将开始将我的 Rails 4 应用程序升级到 Rails 5,并决定做一个小型测试应用程序以确保我所有的 gems 都能正常工作。一切都很好,除了我自 Rails 2 以来一直在使用 Capistrano 部署期间发送电子邮件的代码,当我尝试要求或加载邮件程序代码时会导致此错误;deploy.rb 的第 4 行是必需的。如果我将其注释掉并设置一个标志以不发送电子邮件,则部署工作完美。
邮件代码(基于 Mislav Marohnić 几年前发布的内容):
cap_mailer.rb:
我只能在网上找到非常相似的邮件设置(例如https://gist.github.com/johnthethird/955917)的引用,这些邮件设置是为旧版本的所有内容编写的。在 Capistrano 部署期间编写了几个用于发送邮件的 gem,但它们也有同样的问题,因为它们真的很旧(capistrano-notifier,capistrano_mailer)。
所以在这一点上我被卡住了。谷歌搜索NameError: uninitialized constant ActiveSupport::Rescuable
建议也许这是一个配置问题,但我不知道在那里寻找什么。我的 Rails 安装中有 ActiveSupport::Rescuable;我仔细检查了一遍。任何想法,将不胜感激。
arrays - How do I get the results of a split returned in the order in which they occur in the split?
I'm using Ruby 2.4. I'm trying to split elements in an array. What I would like is to form to equivalent arrays with the results of my split. I would like the first part of the split to be the first array and the second part of teh split to be the second array. So I have
The problem is, the split is working, but the arrays are getting reversed. I want the ["mm", "nn", "nn"]
to be the first element in the array. How do I rewrite things so that the arrays are returned properly -- that is, the first part of the split is in the first array and the second part of the split is in the second array?
ruby - 在 ruby 细化块中组织一长段代码的最佳方法
当一个类被太多的连接方法细化时,我认为最好将它们提取到一个模块中。但是,在上面的示例中,当一个方法调用另一个方法时演示了一个问题(参见最后一条语句),它会产生以下错误。
在“start_end”中:“abcd”的未定义局部变量或方法“last”:String(NameError)
使用全局变量解决了类似的问题,这也适用于我的示例。但我正在寻找另一种更好的方法来组织被调用的方法,并避免全局性的事情。
如何建议更好的方法来组织这些方法?
ruby - Ruby 2.3 和 2.4 中的自定义异常
我想用 Ruby 2.3 和 2.4 中的自定义类来拯救一些代码。但与以前的版本不同(例如运行良好的 2.2),我遇到了一些麻烦。这里有一个例子:
给定这个类:
此代码被成功抢救:
这个也成功救了:
但不是这个:
引发此消息:
“foo”的未定义方法“bar”:字符串(NoMethodError)
我不知道为什么我的自定义异常类没有被处理。