ruby-on-rails - 有没有办法在 Rails 中以编程方式查看(或打印)方法定义?

标签 ruby-on-rails ruby ruby-on-rails-3

假设我在我的 Rails 应用中某处定义了一个名为 bla 的函数。

在 ruby​​ 或 rails 中有没有一种方法可以动态/以编程方式打印用于定义该函数的代码?例如:

def bla
   puts "Hi There"
end

然后如果我调用一个函数,例如 get_definition:

puts get_definition(:bla)

这会打印出来

"puts \"Hi There\""

有规范的方法吗?我以前实际上不需要这样做,而且我知道这在 Rails 中并不是很常见的做法。

我也不想使用元(反射)编程定义我的方法,然后存储用于定义我的方法的字符串。感谢您的帮助!

最佳答案

我不知道 John Hyland 在写什么。没有像Method#source 这样的方法(在纯 Ruby 中)。实用的解决方案是使用 pry gem .它具有让您访问源代码的方法。

关于ruby-on-rails - 有没有办法在 Rails 中以编程方式查看(或打印)方法定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17287261/

相关文章:

ruby-on-rails - 无需身份验证的安全 Rails 3 MultiStep Order Form 的最佳方法

ruby-on-rails - Authenticated System 是一个开源的 FoR 模块吗?

ruby - 从 Amazon S3 流式传输动态 zip

ruby-on-rails - 如何让 Rails 为 PDFKit 呈现特定于 PDF 的 HTML?

ruby - 如何从 Net-SFTP 结果创建文件/目录树?

ruby-on-rails - 真实性 token 仅在 React 组件中提交表单后设置,这会在 Rails 中引发错误

ruby-on-rails - 如何在 OSX 上安装 Ruby on Rails 3?

sql - 使用一个 "primary"值实现多对多

ruby-on-rails - Ruby on Rails 表单提交错误和成功消息

ruby-on-rails - 使用ctrl-n自动补全单词时,Vim随机出现段错误