1

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

前任。(伪代码

blah = Blah.select('blah. , hah. , nah.*').where(..).joins("left outer join hah").joins("left outer join Nah")

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

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

关键部分是我想在没有找到行的情况下执行此操作。

谢谢

4

1 回答 1

1

不响应列Relation,但您大概是在询问元素Relation响应的列。

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

于 2013-10-11T05:25:40.930 回答