2

カスタムのレーキ テストを実行しようとしています。コードは次のとおりです。

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 にアクセスできない理由についての洞察はありますか? そこに :environment がありますが?

4

2 に答える 2

1

私は最近似たようなことに出くわしました。を取得しようとしましたがid、マッピングを使用するまでこれを機能させることができませんでした。これを試して:

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

これが正しい方法だと言っているわけではありませんが、私にとってはうまくいきました。

于 2012-09-25T18:03:19.077 に答える
0

このエラーが発生する理由は、何らかの理由でユーザーを取得できないためです

User.first

デバッガーを使用してこれを確認するか、単に試すことができます

User.first.nil?
于 2012-05-21T05:48:52.040 に答える