我的代码中有以下逻辑:

if !@players.include?(p.name)
  ...
end

@players是一个array.有什么方法可以让我避开!吗?

理想情况下,这个片段应该是:

if @players.does_not_include?(p.name)
  ...
end

推荐答案

if @players.exclude?(p.name)
    ...
end

ActiveSupport将exclude?方法添加到ArrayHashString中.这不是纯Ruby ,但被很多Ruby 爱好者使用.

资料来源:Active Support Core Extensions (Rails Guides)

Ruby-on-rails相关问答推荐

错误正在被ViewComponent、Ruby on Rails中吞噬

将两个日期之间的差值转换为Ruby中的iso8601持续时间(如果需要,还可以使用Rails)

nginx 中的 Rails 7 Active Storage - 图像中途停止加载 net::ERR_HTTP2_PROTOCOL_ERROR 200

Rails 7 共享刺激控制器功能

为什么 Rails 执行器不能识别内核的改进?

在 Rails 7 中,可以将导入映射与 js Bundle 解决方案一起使用,还是它们是专有的?

使用brew 软件安装了 elasticsearch,但找不到配置文件

如何在 rails 中指定和验证枚举?

Postgres on Rails 致命:数据库不存在

在 Rails 中,如何处理多个选中的复选框,只需拆分 , 或?

Rails 4 查找没有子元素的父母

如何将变量传递给render_to_string?

使用 Rails 时,在 Ruby 中处理常量的最佳方法是什么?

Rails:进行不可逆转的迁移是不是很糟糕?

Rails:带参数的 URL/路径

Rails:如何修复‘生产’环境缺少 secret_key_base

'respond_to' 格式语句中的 `:location => ...` 和 `head :ok` 是什么意思?

ruby 方法名称中的变量

即使X-Frame-Options为ALLOWALL,也无法在 iframe 中显示我的 rails 4 应用程序

Sidekiq Rails 4.2 使用 Active Job 还是 Worker?有什么不同