在 Rails 中,我会简单地使用:
MyModel.column_names
访问表的列名,但我正在忍受我对 Sinatra 的第一次摸索(为了更好地学习 Ruby)并且需要将表的列名放入数组中。
以前,我已经迭代了 params 哈希以提取键值对:
params.each do |key, value|
#manipulate keys and values
end
并知道使用:
@mm = MyModel.new
@mm.each do ....
导致未定义的方法“每个”错误。
logger.info @mm.inspect
记录类似:
#<MyModel @id=nil @start=nil @end=nil @yada=nil @created_at=nil @updated_at=nil @foreign_id=nil>
那么,如何将那些我可以清楚地看到的爆炸列名放入数组中?
谢谢...
更新
感谢 Doon 用 Datamapper 属性为我指明了正确的方向。
我最终制作了一个私有方法 column_names:
def self.column_names
self.properties.collect {|column| column.name.to_s }
end
这是一种享受