加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 验证如何在ActiveRecord中运行?

发布时间:2020-12-17 07:09:31 所属栏目:百科 来源:网络整理
导读:要在Rails中的Model中设置验证,我应该写如下: class Post ActiveRecord::Base validates :name,:presence = true validates :title,:presence = true,:length = { :minimum = 5 }end 我无法弄清楚它是如何工作的.看起来它正在调用一个名为validates的方法并
要在Rails中的Model中设置验证,我应该写如下:

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

解决方法

你写道“但这不可能是因为(我相信)你不能直接在类体中调用方法.”

但事实并非如此 – 代码在加载类时正在执行

考虑一下:

class Hi
  puts "yo"
end

你会得到:

yo
 => nil

puts在加载时执行.因此,您可以使用它来创建其他方法或执行您需要的任何操作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读