将方法添加到ActiveRecord :: Base

时间:2015-04-27 03:30:00

标签: ruby-on-rails ruby ruby-on-rails-3 activerecord

我正在阅读导轨指南。有一个我不明白的例子。这个例子的功能是什么?

  

您甚至可以创建自己的验证助手并在其中重复使用   几种不同的型号。例如,管理的应用程序   调查可能会发现某个字段对应的表达很有用   一组选择:

int index=5;
if(index<f.length){
    System.out.println(f[index]);
}
     

只需重新打开ActiveRecord :: Base并定义类似的类方法。   您通常将此代码放在config / initializers中的某个位置。您   可以像这样使用这个帮手

ActiveRecord::Base.class_eval do
  def self.validates_as_choice(attr_name, n, options={})
    validates attr_name, :inclusion => { { :in => 1..n }.merge!(options) }
  end
end

0 个答案:

没有答案