ruby - Rails - 如何从 lib 目录调用方法?

标签 ruby class methods

我在 lib 目录(文件 my_class_name.rb)中有这个方法:

class MyClassName
  def doSomething
    ...
  end
  ...
end

在 Controller 中:

class UsersController < ApplicationController
  require 'my_class_name'

  def show_stats
    ::MyClassName.doSomething()
  end
end

返回

undefined method `doSomething' for MyClassName:Class

如何正确调用该方法?

最佳答案

你已经写了一个带有实例方法的类,所以如果你想按照你写的方式调用它,你需要写:

  mcn = MyClassName.new
  mcn.doSomething

(通过创建实例,然后在该实例上调用方法)

如果你想要的是一个类方法,将其定义为:

class MyClassName
  def self.doSomething
    ...
  end
  ...
end

并将其命名为:MyClassName.doSomething

关于ruby - Rails - 如何从 lib 目录调用方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15110453/

相关文章:

java - 类方法未执行正确的计算

java - 如何从 if 语句中返回变量以便在单独的方法中使用?

ruby - 是否可以从 ruby​​ GUI 脚本 (.rbw) 启动控制台进程

mysql - 更新数据库 6000 次需要几分钟?

ruby - 如何更改 Rails View 中的文本颜色

c++ - 声明具有相同args的两个构造函数的最理想的方法是什么?

jquery - 添加此 jQuery 后无法取消选中复选框

JavaScript 问题。我正在学习 for 循环和数组如何与方法一起工作,不知道为什么我在控制台中收到 NAN 消息

java - 如何从一种方法返回 ArrayList 和文件数组?

ruby - 如何在 Ubuntu 上修复 Nokogiri?