消灭所有问题

时间:2015-06-10 03:49:42

标签: ruby-on-rails ruby cron

我与电影和海报有一个标准的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

1 个答案:

答案 0 :(得分:4)

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

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

解决方法是使用字符串插值(或to_s方法,但这对我来说很难看):

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