ruby-on-rails - 如何在Ruby中调用外部类的方法

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

我在 /lib 下有一个文件,它有自己的方法。

# lib/file.rb
class File < ApplicationController
  def my_method
    ...
  end
end

但是我无法通过控制台访问该方法

ruby-1.9.2-p290 :044 > File.my_method
NoMethodError: undefined method `my_method' for File:Class

知道怎么做吗?

最佳答案

my_methodFile 类的实例方法。这意味着您只能在 File 类的实例上调用它。

file = File.new
file.my_method

您可以使用 def self.my_method 语法将 my_method 声明为类方法。

class File < ApplicationController
  def self.my_method
    ...
  end
end

File.my_method

但是在类方法中你不能使用 File 对象的实例变量。

关于ruby-on-rails - 如何在Ruby中调用外部类的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10643614/

相关文章:

ruby-on-rails - Minitest 和设置/拆卸 Hook

ruby-on-rails - 堆栈级别太深且 before_save

ruby-on-rails - sql执行后得​​到切片结果

ruby - ruby 中的线程安全外部进程,以及检查退出状态

ruby-on-rails-3 - Rails 3 基于 Action 验证规则

ruby-on-rails - 预期响应为 < :success>, 但为 <301>

ruby-on-rails - 将参数传递给Active Admin中的新操作

ruby - 在 Ruby 中,堆栈中存储了什么?

ruby-on-rails - 使用 postgresql 和 ruby​​ on rails 编写带有日期范围的 SQL 查询

ruby - 为什么 respond_with JSON 不起作用?