gpt4 book ai didi

ruby-on-rails - 验证在 ActiveRecord 中是如何工作的?

转载 作者:数据小太阳 更新时间:2023-10-29 07:34:44 24 4
gpt4 key购买 nike

要在 Rails 的模型中设置验证,我应该这样写:

class Post < ActiveRecord::Base
validates :name, :presence => true
validates :title, :presence => true,
:length => { :minimum => 5 }
end

我不知道这是怎么回事。它似乎正在调用名为 validates 的方法并传递参数,但这不可能,因为我相信我不能直接在类主体中调用方法。

那么这里到底发生了什么?

更新

从答案来看,这似乎是从继承的 Base 类调用方法,但为什么这不起作用?:

class Parent
def foo
puts "called foo"
end
end

class Child < Parent
foo
foo
end

最佳答案

为什么您认为不能在类主体上调用方法?这些是类方法,这就是它们的调用方式 - 例如,请参见验证位 here以及 api 的类方法中验证的定义 here

你可以看到它在这里工作:

 class Foo
def self.bar
p 'hello'
end
end

Foo.bar #=> hello

class Thing < Foo
bar
end
#=> hello

关于ruby-on-rails - 验证在 ActiveRecord 中是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8917177/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com