如何获取 Ruby gem 中方法的文档?
How to get documentation for a method in a Ruby gem?
我正在尝试了解 cancancan
gem 使用的 can?
方法。
我尝试了 here,但找不到方法 can?
:
按照建议 here,我尝试了这些:
can?.arity
NoMethodError: undefined method `can?' for main:Object
can?.parameters
NoMethodError: undefined method `can?' for main:Object
我只是想找出 can?
(视图中使用的 cancancan 方法)想要接收的参数,但是这个示例是学习如何为其他方法执行此操作的好机会好吧,因此我希望有一个通用的解决方案(一个允许我查找文档的方法,而不是在这个特定示例中询问的方法)。
在此先感谢所有 help/pointers!
最简单的方法是在 the site you linked 的搜索栏中输入 can?
,它会给出以下两个结果:
不是答案,只是在另一个论坛上告诉我的一些提示:
- 并不是每个 ruby gem 方法都会有每个方法的文档,所以不要期望每个 gem
都会找到每个方法的文档
- 尝试查找源代码(例如 github),并在特定的存储库中搜索方法名称,并在前面加上双引号
def
。即:
转到 github 存储库,然后转到搜索栏(左上角),然后像这样搜索(搜索时 select“在此存储库中”)
这将给出 these 个搜索结果:
并且我们可以看到定义的方法here:
Jörg 的回答是正确的,但我还想展示一些查找方法源代码的替代方法:
使用 show-source
来自 Pry gem:
show-source CanCan::Ability#can?
当然,要做到这一点,您需要知道该方法是在 CanCan::Ability
上定义的。要找到该信息,您可以使用 <my_record>.method(:own?).owner
.
在Ruby核心使用source-location
:
您可以使用 <record>.method(:own?).source_location
- 这会告诉您定义该方法的文件以及行号,因此您可以在文本编辑器中打开它进行检查
作为使用外部站点的替代方法,您可以从命令行尝试 ri
:
ri "can?"
当您安装 gem 时,ri 文档(通常)也会安装。 ri
命令行工具将在已安装的 gem 文档中搜索与您的输入相匹配的方法和常量并显示它们。
由于它在本地运行,因此当您手边没有互联网连接时,这可能是一个很好的资源!
我正在尝试了解 cancancan
gem 使用的 can?
方法。
我尝试了 here,但找不到方法 can?
:
按照建议 here,我尝试了这些:
can?.arity
NoMethodError: undefined method `can?' for main:Object
can?.parameters
NoMethodError: undefined method `can?' for main:Object
我只是想找出 can?
(视图中使用的 cancancan 方法)想要接收的参数,但是这个示例是学习如何为其他方法执行此操作的好机会好吧,因此我希望有一个通用的解决方案(一个允许我查找文档的方法,而不是在这个特定示例中询问的方法)。
在此先感谢所有 help/pointers!
最简单的方法是在 the site you linked 的搜索栏中输入 can?
,它会给出以下两个结果:
不是答案,只是在另一个论坛上告诉我的一些提示:
- 并不是每个 ruby gem 方法都会有每个方法的文档,所以不要期望每个 gem 都会找到每个方法的文档
- 尝试查找源代码(例如 github),并在特定的存储库中搜索方法名称,并在前面加上双引号
def
。即:
转到 github 存储库,然后转到搜索栏(左上角),然后像这样搜索(搜索时 select“在此存储库中”)
这将给出 these 个搜索结果:
并且我们可以看到定义的方法here:
Jörg 的回答是正确的,但我还想展示一些查找方法源代码的替代方法:
使用
show-source
来自 Pry gem:show-source CanCan::Ability#can?
当然,要做到这一点,您需要知道该方法是在
CanCan::Ability
上定义的。要找到该信息,您可以使用<my_record>.method(:own?).owner
.在Ruby核心使用
source-location
:您可以使用
<record>.method(:own?).source_location
- 这会告诉您定义该方法的文件以及行号,因此您可以在文本编辑器中打开它进行检查
作为使用外部站点的替代方法,您可以从命令行尝试 ri
:
ri "can?"
当您安装 gem 时,ri 文档(通常)也会安装。 ri
命令行工具将在已安装的 gem 文档中搜索与您的输入相匹配的方法和常量并显示它们。
由于它在本地运行,因此当您手边没有互联网连接时,这可能是一个很好的资源!