我正在尝试在我的所有 Rails 模型上运行快速 rake 任务,但无法调用它们,因为这段代码告诉我不能columns
在字符串上调用该方法。
我尝试classify
了而不是camelize
它也没有工作,也尝试在其中插入 a class_eval
,但这似乎在这里不起作用/不太了解它。
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
我确实知道这行得通,所以如果需要,我可以手动访问模型,但我真的不想这样做......
Model.columns.each { |c| puts c.name }