销毁所有问题

Destroy all issue

我与电影和海报有着标准的 has_many/belongs_to 关系。每部电影可以有很多海报。我在 rake 命令中有以下内容:

task remove_movie_posters: :environment do
   destroyed = Movie.where(fake: true).posters.where("created_at < ?", 1.minute.ago).destroy_all
   puts "Done. " + destroyed.length + " records deleted."
end

但我收到错误:TypeError: no implicit conversion of Fixnum into String

destroy_all returns 一个整数,你不能像那样连接字符串和整数。显示此问题的一个简单示例是:

"foo" + 42 + "bar"
TypeError: no implicit conversion of Fixnum into String

解决方案是使用字符串插值(或to_s方法,但我觉得很难看):

puts "Done. #{destroyed.length} records deleted."