Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 无法将实例方法添加到Ruby on Rails模型_Ruby On Rails_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails 无法将实例方法添加到Ruby on Rails模型

Ruby on rails 无法将实例方法添加到Ruby on Rails模型,ruby-on-rails,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 4,我正在尝试向我的一个模型添加一个新的实例方法。模型如下: # app/models/server.rb class Server < ActiveRecord::Base def self.zzz() end end 为什么我不能以这种方式向Server类添加额外的实例方法?我在Debian stretch系统上使用Rails 4.2 我正在尝试向我的一个模型添加一个新的实例方法 您改为添加了一个类方法,并且不能对实例调用类方法(在名称之前用self声明)。您可以直接在类上调

我正在尝试向我的一个模型添加一个新的实例方法。模型如下:

# app/models/server.rb
class Server < ActiveRecord::Base

  def self.zzz()
  end

end
为什么我不能以这种方式向
Server
类添加额外的实例方法?我在Debian stretch系统上使用Rails 4.2

我正在尝试向我的一个模型添加一个新的实例方法

您改为添加了一个类方法,并且不能对实例调用类方法(在名称之前用
self
声明)。您可以直接在类上调用
#zzz
方法,如下所示:

Server.zzz
或者将
zzz
重新定义为实例方法:

def zzz
end
能够在
@server

self.zzz()
上调用它是类方法而不是实例方法。您可以删除
self
并调用实例方法。
Server.zzz
def zzz
end