2010-11-10 64 views
1

我想知道是否有任何数组方法检查模型中特定列的存在。我将来自两个表的查询结果组合成一个数组。我需要检查这些表的列名列表注释该数组。检查导轨数组中是否存在特定列

+0

请稍微详细一点。你的问题还不够清楚。 – Shreyas 2010-11-10 10:46:18

+0

重复[如何检查模型是否具有某个列/属性?](http://stackoverflow.com/questions/1710004/how-to-check-if-a-model-has-a-certain-column - 属性)有更好的问题和答案。 – 2012-07-19 16:49:34

回答

0

这是如何检查模型实例是否属于特定类,例如obj.is_a?(Person)

要查看某个模型具有哪些列,请在课程级别执行:obj.class.columns.collect { |c| c.name }

+0

甚至更​​短:obj.class.columns.map(&:name) – jordinl 2010-11-10 11:59:38

3
Model.columns.map(&:name).include?("id") 
# => true 
Model.columns.map(&:name).include?("not_available_column") 
# => false 
1

另外,这样做也许更清洁的方式是:Foo.column_names.include( “巴”)