Ruby 鲁比:什么是“->>;`?

Ruby 鲁比:什么是“->>;`?,ruby,Ruby,我在一些Ruby代码中遇到了这个操作符-> scope :boosted_via_additional_articles, lambda { where("boost_states ->> 'boosted_additional_articles' = 'true'") } 这就是这个操作符?这个->在一个字符串中,所以它实际上不是Ruby语法的一部分。它是定义scope方法的任何库的一部分。您应该参考该库(可能是ActiveRecord)的文档。

我在一些Ruby代码中遇到了这个操作符
->

 scope :boosted_via_additional_articles, lambda {
    where("boost_states ->> 'boosted_additional_articles' = 'true'")
  }

这就是这个操作符?

这个
->
在一个字符串中,所以它实际上不是Ruby语法的一部分。它是定义
scope
方法的任何库的一部分。您应该参考该库(可能是ActiveRecord)的文档。

就像@DavidGrayson所说的,它是一个字符串,其含义由接收该字符串的对象定义,而不是由Ruby定义。在这种情况下,它很可能最终被PostgreSQL接收,并且是。

更新您的标记。你在用Postgres吗?如果是这样,那就是一个json/jsonb操作符()。我只是在读源代码。我什么都没用。