【发布时间】:2019-10-18 23:44:12
【问题描述】:
我正在尝试向我的一个模型添加一个新的实例方法。这是模型:
# app/models/server.rb
class Server < ActiveRecord::Base
def self.zzz()
end
end
这里是控制器:
class ServersController < ApplicationController
def new
@server = Server.new
@server.zzz
end
end
当我调用 new 方法时,我收到此错误:
undefined method `zzz' for #<Server:0x0055f64a3c4cb8>
为什么我不能以这种方式向Server 类添加额外的实例方法?我在 Debian 拉伸系统上使用 Rails 4.2。
【问题讨论】:
-
self.zzz()是类方法而不是实例方法。您可以删除self并调用实例方法。
标签: ruby-on-rails ruby-on-rails-4