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