ruby-on-rails - Thor::Group:Class 的未定义方法“find_each”
问题描述
我编写了一个 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
为::User
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?
# ...
end
end
end
推荐阅读
- for-loop - 使用循环组合命令
- hyperledger-fabric - ChainCode 容器生命周期说明
- c - 根据用户输入更改#define 值
- xml - 如何为文件指定默认命名空间并指定 sites.xsd 作为默认命名空间的架构位置?
- selenium - xpath 检索名称/文本
- php - PHP 日期比较给出了意想不到的结果
- php - 带有 php 的 aws elasticache - 无法设置键/值对
- android - 导航架构组件测试应用在 Android 8.0.0 手机上运行良好,但在 Android 6.01 上失败
- tpm - 如何使用 TPM2 签署消息?
- c++ - 如何移动小数并显示特定数字?C++