【发布时间】:2023-03-05 04:12:02
【问题描述】:
我编写了一个 Thor 任务,它应该遍历所有使用 find_each 的用户。但我收到此错误消息:
Thor::Group:Class 的未定义方法find_each`
为什么 find_each 在这里不可用?在 Rails 控制台中运行 User.find_each { |u| puts u.name } 有效。
class CloudImages < Thor
require "./config/environment.rb"
desc "save_user_avatar_urls", "Save existing AWS user avatars"
def save_user_avatar_urls
User.find_each do |user|
next if user.avatar_url.blank?
path = URI(user.avatar_url).path
image_url = $DOMAIN + path
user.update_attribute(:aws_avatar_url, image_url)
end
end
end
【问题讨论】:
-
试试
::User.find_each do |user| -
成功了!谢谢!将其发布为答案,以便我可以接受它是正确的。 ;-)
-
为什么我们必须在这里使用基本命名空间,还有没有办法将 Thor 配置为不需要它?
标签: ruby-on-rails thor