Rails:测试对象是否为ActiveRecord

时间:2013-09-19 10:42:58

标签: ruby-on-rails-3 activerecord

如何测试var是否为ActiveRecord对象?

我试过

if var[:id]
  # ==> Activerecord
else
  # ==> Other object
end

但我得TypeError: can't convert Symbol into Integer

1 个答案:

答案 0 :(得分:5)

你可以像这样检查你班级的祖先:

var.class.ancestors.include?(ActiveRecord::Base)

或者你可以比较两个类:

if var.class < ActiveRecord::Base
  # do something
end