私は自分のRailsロガーに送る文字列を持っています。私が望むのは、各レーキタスクが実行された後、インデックスが1つ増えて次の文字列がロガーに投稿されるようにすることです。私はクラス変数を使用し、Redisを使用する従来の方法を試しました。私のインデックスは増分を拒否しています。これは私が試みたものです。rakeタスクの後に配列インデックスをインクリメント
TRY 1
accounts_controller.rb私は私の@@index
変数の永続を作るためのRedisを使用しようとする2回目の試行で
class AccountsController < ApplicationController
cattr_accessor :index
@@index ||= 0
def self.post
current_user = User.find_by(:id => 1)
user_posts = current_user.accounts.find_by(:id => 1).posts
Rails.logger.info user_posts[@@index].tweet
end
end
post.rake
desc 'send post to twitter'
task send_posts: :environment do
AccountsController.post
AccountsController.index += 1
end
。まだ増分はありません。
class AccountsController < ApplicationController
cattr_accessor :index
@@index = $redis.set('index', 0)
def self.post
current_user = User.find_by(:id => 1)
user_posts = current_user.accounts.find_by(:id => 1).posts
Rails.logger.info user_posts[@@index.to_i].tweet
end
end
post.rake accounts_controller.rb
desc 'send post to twitter'
task send_posts: :environment do
AccountsController.post
#AccountsController.index += 1
$redis.incr('index')
end
は、誰かが私には、各rakeタスクを実行した後、配列の反復処理を助けることはできますか?
環境をロードすると変数がリセットされます。これは、レーキタスクが実行されるたびに発生します。あなたは最終的に何をしようとしていますか?最終目標は何ですか?すべてのつぶやきを記録するには? – toddmetheny
はい、つぶやきを定期的にログに記録する...それらのすべて。 – Emanuel