是否有gem或插件,可以在Active Record模型中生成类名称上方的列名称的注释?我很确定我见过这样的东西,但在任何地方找不到它: 例如:
# columns Defs
# name:string
# user_id:integer
# etc.
class Post < ActiveRecord::Base
end
我还可以写这样的东西,但我不想重新发明轮子。
由于
答案 0 :(得分:1)
从app文件夹中获取所有模型。
models = []
Dir.foreach("#{RAILS_ROOT}/app/models") do |model_path|
if FileTest.directory?(model_path)
next
else
filename = File.basename(model_path, '.rb')
models << filename.camelize.constantize \
if ["ActiveRecord::Base"].include?(filename.camelize.constantize.superclass.to_s)\
&& filename.camelize.constantize.table_exists?
end
end
这将显示所有具有数据类型的列。
for model in models
puts model
model.columns_hash.select {|column_name,column_type| puts column_name + ":" + column_type }
end
可能这对你有帮助吗?
答案 1 :(得分:1)
您可能正在考虑使用annotate_models插件。
答案 2 :(得分:0)
有annotate_models宝石。 This是我曾经使用的版本,但无法判断是否仍然保留。