如何在rake任务栏中使用current_user方法

时间:2016-02-02 08:53:29

标签: ruby-on-rails rake-task

我创建了一个rake任务,用于从以current_user身份登录的组织向用户发送SMS,我必须最后发送组织名称,该组织名称最后存储在组织表中。 但问题是在rake文件中无法访问current_user方法。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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

如果它像交易短信那样,它必须是实时的,我不会看到rask任务的需要,并希望你知道这一点。

如果您想向所有用户发送短信,请注意欢迎短信,并且没有时间限制。在这种情况下,编写代码以根据时间戳从用户提取数据并将短信发送给所有用户。清晰的过程是,有一个逻辑可以从rake任务中的数据库中提取数据来处理它。

更新: 跟踪必须向其发送短信的用户,拥有类似批量用户的表,保存需要在短信中发送的任何相关信息。如果您保存了用户数据,并且组织与之关联。只需保存用户信息就可以了,在rake任务运行时,可以浏览组织信息。

要处理生日,请写一些User.where DOB是今天的日期。使用后台作业安排它在任何指定时间每天运行。这应该服务于目的