Я создаю задачу рейка для отправки SMS-сообщения от пользователя, который подписан как current_user, и я должен отправить имя организации в конце, которое хранится в таблице организации. Но проблема в том, что метод current_user недоступен в файлах rake. Как я могу решить эту проблему?Как использовать метод current_user в rake task rails
ответ
Я нашел решение, в котором я могу создать фоновое задание для обязательных полей в другой таблице, и это решит мою проблему, так как у меня есть user_id в таблице.
Вначале текущий пользователь не будет доступен в задаче грабли. Это просто переменная сеанса, работа с граблями работает по расписанию/периоду времени.
Если это что-то вроде транзакций sms, то это должно быть в реальном времени, и я не вижу необходимости в задаче на рассылку и надеюсь, что вы это знаете.
Когда вы хотите отправить sms всем пользователям, что-то вроде приветствия смс при регистрации и без ограничений по времени. В этом случае напишите код, чтобы извлекать данные от пользователей на основе метки времени и отправлять sms всем этим пользователям. Ясный процесс заключается в том, что есть логика для извлечения данных из базы данных в вашу задачу рейка, чтобы позаботиться об этом.
Обновление: Следите за тем, для кого нужно отправить sms, у вас есть стол, похожий на навалом, за исключением любой связанной информации, которую необходимо отправить в смс. если у вас сохранены пользовательские данные, и организация связана с ним. Просто сохранить информацию о пользователе в порядке, в то время как задача rake выполняется, потяните за информацию организации.
Чтобы справиться с днями рождения, напишите что-нибудь User.where DOB - это сегодняшняя дата. Запланируйте его, используя фоновое задание для запуска каждый день в любое заданное время. Это должно быть цель сервера
на самом деле я хочу, чтобы сообщение было подписано именем организации, которое в настоящее время подписано, поэтому мне нужен текущий метод пользователя – Supertracer
, также я забыл упомянуть, что метод current_user не является методом разработки, я внедрил свою собственную регистрацию signin без использования проекта – Supertracer
и смс в дни рождения – Supertracer
- 1. Запуск rake task rails
- 2. Как выполнить Rails "Rake Task"
- 3. rake task undefined метод create
- 4. Rails rake task невероятно медленно
- 5. Rails rake task не работает
- 6. Rails Rake Task - Как удалить записи
- 7. Rails - использовать методы RSpec «get» и «response» в Rake task
- 8. Rake task for scraping with rails
- 9. Rails RSpec Mocking Date.today.wday in Rake Task
- 10. run rake task in rails application
- 11. Rake Task от Crontab?
- 12. Rails rake task invoke error catching
- 13. Как использовать «current_user» с приложением в Rails?
- 14. render_to_string from rake task
- 15. Невозможно убить рельсы rake task
- 16. Как использовать метод async task?
- 17. ActionMailer в кроссовках Rake Task
- 18. Rake task break the my Ruby ... Bad Rake Task
- 19. Получить BUILT_PRODUCTS_DIR В Rake Task
- 20. Как передать аргумент ENV для Rake Task
- 21. Rake Task "Killed"
- 22. Daemoninsing the rake task
- 23. Ошибка Capistrano: неопределенный метод `уже_invoked 'для <Rake :: Task load: defaults => []>: Rake :: Task
- 24. run rake task with button
- 25. Rails 4: Сессии - неопределенный метод `current_user»
- 26. Метод current_user для authenticate_or_request_with_http_digest - Rails 4
- 27. Rom-sql Rake Task
- 28. Rake Task: обработка ошибок
- 29. Rake before task hook
- 30. Rake task handle 404
Для асинхронной обработки заданий вы можете захотеть взглянуть на DelayedJobs http://blog.andolasoft.com/2013/04/4-simple-steps-to-implement-delayed-job-in-rails.html , рейк-задачи кажутся IMHO не подходящим инструментом здесь – jethroo
Rake-команды имеют другую среду, в вашем случае похоже, что она не связана с сетью (current_user - это просто сеанс) – dsounded
@dsounded Мне нужно найти имя организации cuurent_user, так что вы предлагаете мне вместо этого – Supertracer