ActiveRecord :: Relation不仅获取特定模型的所有column_names

时间:2013-10-10 23:28:19

标签: ruby-on-rails

我正在尝试找出ActiveRecord :: Relation的所有列名。

实施例。 (伪代码

blah = Blah.select('blah。,hah。,nah。*')。where(..)。join(“left outer join Hah”)。join(“left outer”加入Nah“)

我正在尝试调用blah.column_names,但我希望它返回此关系响应的所有列,包括Hah和Nah,而不仅仅是Blah的

或类似blah.respond_to?('column_name')

关键部分是我想要这样做而没有找到任何行。

由于

1 个答案:

答案 0 :(得分:1)

Relation不响应列,但您可能会询问Relation元素所响应的列。

blah.first.attributes将返回blah.first将响应的所有列方法,包括虚拟列和连接表中的列的方法。同样,blah.first.respond_to?会让您检查它是否会响应特定的列方法。