自定义rake任务错误

时间:2012-05-21 05:41:31

标签: ruby-on-rails rake

我正在尝试运行自定义佣金测试。这是代码:

task :test => :environment do
  user = User.first
  puts "Winner: #{user.email}"
  puts "test"
end

但是当我运行它时,我得到了这个错误。

$ rake test

rake aborted!
undefined method `email' for nil:NilClass

Tasks: TOP => test
(See full trace by running task with --trace)

我为什么无法访问类User的任何见解?即使我有:环境在哪里?

2 个答案:

答案 0 :(得分:1)

我最近遇到了类似的事情。我试图获得id并且在使用映射之前我无法使其工作。试试这个:

task :test => :environment do 
  email = User.first.map(&:email)
  puts "Winner: #{email}"
  puts "test" 
end

我并不是说这是正确的方法,但它对我有用。

答案 1 :(得分:0)

您收到此错误的原因是由于某种原因您没有获得

的任何用户
User.first

您可以使用调试器进行检查,或者只需尝试

User.first.nil?