首页 > 解决方案 > 理解 Ruby 中的“.with”

问题描述

抱歉,这可能是一个已经被问过很多次的问题,但是因为它涉及到什么是英语中非常常见的词,所以几乎不可能用谷歌搜索或搜索它。

我看过一些像这样的 Ruby 代码示例:

EnquiryNotification.with(post: @post)

我试图了解“.with”部分的作用。任何人都可以对此有所了解吗?

标签: ruby

解决方案


with是在EnquiryNotification类(或其祖先之一)上定义的类方法。该方法既不是 Ruby 语言中的关键字,也不是 Ruby 本身或其标准库附带的类的通用方法。因此,要查找此方法的作用,您可能必须查阅所选框架或应用程序的文档。

with框架中定义的方法的一个示例是Sequel::Dataset#with将 CTE 添加到当前查询。该方法也可用作 Sequel 模型类中的类方法。

正如 Stefan 在上面的评论中提到的,它也可能是 ActionMailer的一部分。

但无论如何,请务必查阅所选框架或库的文档以获取详细信息。


推荐阅读