Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails3-如何获取ActiveRecord模型的所有属性和关联?_Ruby On Rails_Ruby_Activerecord_Attributes_Associations - Fatal编程技术网

Ruby on rails Rails3-如何获取ActiveRecord模型的所有属性和关联?

Ruby on rails Rails3-如何获取ActiveRecord模型的所有属性和关联?,ruby-on-rails,ruby,activerecord,attributes,associations,Ruby On Rails,Ruby,Activerecord,Attributes,Associations,我正在寻找一种方法来获取ActiveRecord模型上所有模型属性和关联的数组。我很难找到这个问题的答案,因此,我将发布我的答案,看看是否有更好的解决方案。我的解决方案是: m = Model.find(id) m.attributes.keys.concat(m.reflections.map{|r| r.first.to_s}) 获取所有属性 m = Model.new m.attributes 获取所有模型关联的步骤 Model.reflect_on_all_associations.

我正在寻找一种方法来获取ActiveRecord模型上所有模型属性和关联的数组。我很难找到这个问题的答案,因此,我将发布我的答案,看看是否有更好的解决方案。

我的解决方案是:

m = Model.find(id)
m.attributes.keys.concat(m.reflections.map{|r| r.first.to_s})
获取所有属性

m = Model.new
m.attributes
获取所有模型关联的步骤

Model.reflect_on_all_associations.map{|x| x.class_name}.compact
这些链接将提供更多详细信息


请注意,反射所有关联。映射{x | x.class_name}获取关联的类名,而不是关联名称本身。