销毁所有问题
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."
我与电影和海报有着标准的 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."