Ruby on rails 如何在rake任务rails中使用current_用户方法

Ruby on rails 如何在rake任务rails中使用current_用户方法,ruby-on-rails,rake-task,Ruby On Rails,Rake Task,我创建了一个rake任务,用于从作为当前_用户登录的组织向用户发送SMS,最后我必须发送存储在组织表中的组织名称。 但问题是当前用户方法在rake文件中不可访问。我如何解决此问题?首先,当前用户在rake任务中不可用。它只是一个会话变量,rake任务按照计划/时间段工作 如果它是类似于交易短信,那么它必须是实时的,我不认为有必要rask任务,希望你知道这一点 当你想向所有用户发送短信时,比如当他们注册时发送欢迎短信,并且没有时间限制。在这种情况下,编写代码,根据时间戳从用户中提取数据,并向所有用

我创建了一个rake任务,用于从作为当前_用户登录的组织向用户发送SMS,最后我必须发送存储在组织表中的组织名称。
但问题是当前用户方法在rake文件中不可访问。我如何解决此问题?

首先,当前用户在rake任务中不可用。它只是一个会话变量,rake任务按照计划/时间段工作

如果它是类似于交易短信,那么它必须是实时的,我不认为有必要rask任务,希望你知道这一点

当你想向所有用户发送短信时,比如当他们注册时发送欢迎短信,并且没有时间限制。在这种情况下,编写代码,根据时间戳从用户中提取数据,并向所有用户发送sms。清晰的过程是,在rake任务中,有一个逻辑从数据库中提取数据来处理它

更新: 跟踪需要发送短信的用户,创建一个类似bulkusers的表格,保存需要在短信中发送的任何相关信息。如果您保存了用户数据,并且组织与之关联。只要保存用户信息就可以了,当rake任务运行时,就可以浏览组织信息


要处理生日,请写一些东西User.where DOB是今天的日期。使用后台作业计划它每天在任何指定时间运行。这应该符合目的

我找到了一个解决方案,可以为另一个表中的必填字段创建一个后台作业,这解决了我的问题,因为我在表中有用户id。

对于任务的异步处理,您可能希望查看DelayedJobs,rake任务似乎不是合适的工具rake命令有另一个环境,在你的情况下似乎与web无关(当前用户只是一个会话)@dsounded我必须找到cuurent_用户组织名称,那你建议我怎么做instead@jethroo延迟作业是否提供对当前用户方法的访问您需要创建一个单独的页面(管理面板或其他什么)来发送短信,如果您想要当前用户-您需要与web用户一起执行该操作,否则,请使用一些“AdminBot”默认用户对当前用户进行rake但存根如果需要,实际上我希望消息由当前登录的组织名称签名,这就是我需要当前用户方法的原因。我忘了提到当前用户方法不是设计方法,我在没有使用设备的情况下实现了我自己的登录注册,并且短信是在生日。我有这样的查询来获取存储在用户设置表User\u settings=UsersSetting中的短信。查找方式(Organization\u id:current\u User.Organization\u id,:facility\u id=>facility\u id,User\u id:current\u User.id)如果您在这里出错,请找出用户。有一个跟踪用户的标志,否则您将无法解决此问题