[英]NameError: uninitialized constant Person::RAILS_ROOT
In 'lib/tasks/admin.rake': 在'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
In Person.rb(model)
: 在
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
How do i call admin:fake_people
from call_rake
in model.Please help me i have lost a whole day. 我如何在模型中调用
call_rake
中的admin:fake_people
。请帮助我,我已经失去了一整天。
Try: 尝试:
Rails.root
Because probably you have RoR 4. RAILS_ROOT was work fine in RoR 2 or 3. 因为你可能有RoR 4. RAILS_ROOT在RoR 2或3中运行良好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.