当前位置 : 主页 > 编程语言 > ruby >

ruby-on-rails – Rails / Ruby – 如何检查attr_accessor字段是否存在?

来源:互联网 收集:自由互联 发布时间:2021-06-23
在Rails 3/4模型中,如果使用attr_accessor声明字段field1: attr_accessor :field1 如果在模型中存在field1,如何检查? column_exists?和method_defined?似乎只使用模型列,而field1不是模型列. attr_accessor定义
在Rails 3/4模型中,如果使用attr_accessor声明字段field1:

attr_accessor :field1

如果在模型中存在field1,如何检查? column_exists?和method_defined?似乎只使用模型列,而field1不是模型列.

attr_accessor定义了两个方法:def field1和def field1 =(val),所以你能做的最好的就是检查这两个函数是否存在.

如果你有一个对象:

object.respond_to? :field1
object.respond_to? :field1=

如果不这样做,请使用:

Class.instance_methods.include? :field1
Class.instance_methods.include? :field1=
网友评论