我已经设置了一个带有“导演”和“索引”动作的MoviesController。这是“导演”行动。
我正在对“导演”行动进行rspec测试。
我收到这个错误
错误是说@similarMovies是nil,但在该行之前,我测试@similarMovies是否为nil并重定向到索引操作(movies_path)。我手动测试了这段代码,如果@similarMovies为零,我会被重定向。我已经使用了byebug,它确实包含在“if @similarMovies == nil”块中。 redirect_to方法甚至被调用,但由于某种原因,它实际上从未实际被重定向到索引操作。我知道这一点,因为我也将byebug放在索引动作的开头。我对这种行为感到很困惑。任何帮助将不胜感激。
改变你的if条件来检查empty?
而不是== nil
。如果没有找到记录,您仍会收到ActiveRecord::Relation
。
if @similarMovies.empty?
flash[:notice] = "'#{@movie.title}' has no director info"
redirect_to movies_path and return
end