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

时间:2013-07-24 21:54:38

标签: ruby-on-rails ruby activerecord attributes associations

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

2 个答案:

答案 0 :(得分:3)

获取所有属性

m = Model.new
m.attributes

获取所有模型关联

Model.reflect_on_all_associations.map{|x| x.class_name}.compact

这些链接将提供更多详细信息 How do you discover model attributes in Rails

http://www.funonrails.com/2009/11/how-to-get-all-associted-models-of.html

答案 1 :(得分:2)

我的解决方案是:

m = Model.find(id)
m.attributes.keys.concat(m.reflections.map{|r| r.first.to_s})