繁体   English   中英

NameError:未初始化的常量Person :: RAILS_ROOT

[英]NameError: uninitialized constant Person::RAILS_ROOT

在'lib / tasks / admin.rake'中:

require 'rake'
namespace :admin do
  desc "TODO"
  task fake_people: :environment do
    print "How many fake people do you want?"
    Person.all.each do |p|
      print p.first_name + ' ' + p.last_name + '********'
    end
  end
end

Person.rb(model)

require 'rake'

class Person < ActiveRecord::Base
  def admin
    load File.join(RAILS_ROOT, 'lib', 'tasks', 'admin.rake')
    Rake::Task["admin:fake_people"].invoke
  end 
end

我如何在模型中调用call_rake中的admin:fake_people 。请帮助我,我已经失去了一整天。

尝试:

Rails.root

因为你可能有RoR 4. RAILS_ROOT在RoR 2或3中运行良好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM