我不能这样做:
class Hardware
before_filter
def before_filter
puts "ge"
end
end
Run Code Online (Sandbox Code Playgroud)
它说在我实例化它时,before_filter是未定义的方法或变量
hd = Hardware.new
Run Code Online (Sandbox Code Playgroud)
因为我见过其他人之前在一个类中放了一个方法名.只是想知道它是如何工作的.谢谢
您的代码存在两个问题:
这两个显然都无法奏效.
这可行:
class Hardware
def self.before_filter
puts "ge"
end
before_filter
end
Run Code Online (Sandbox Code Playgroud)
before_filter是一个ActiveRecord类方法(参见此处),因此只有在模型继承自ActiveRecord::Base(或子类)时才可用.你能更具体地了解你想要做什么吗?
您可能只是在寻找:
class Hardware
def initialize
super
before_filter
end
protected
def before_filter
# ...
end
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
151 次 |
| 最近记录: |