I’m trying to run a quick rake task on all my Rails models but haven’t been able to call them because this piece of code tells me that I can’t call the method columns on a string.
I tried classify instead of camelize and it hasn’t worked either, tried inserting a class_eval in there as well, but that dosen’t seem to work here / don’t know too much about it.
task :collect_models_and_field_names => :environment do
models = Dir.glob("#{models_path}/*").map do |m|
m.capitalize.camelize.columns.each { |n| puts n.name }
end
I do know that this worked so I would have manual access to the model if I needed, but I don’t really want to do that…
Model.columns.each { |c| puts c.name }
Try