1
私はruby 1.9.2とRails 3.0.7を使用しています。私は、cronジョブを使用して15分ごとに1つのCSVファイルを作成するルビーバックエンドスクリプトを書いています。CSVファイルの解析時に空の値を返す方法は?
バックエンドRubyスクリプト:正常に作成上記のスクリプトのCSVファイル(count.csv)から
CSV.open("count.csv", 'wb',:col_sep=>',') do |csv|
# header row
csv << ['id', 'count']
models = Model.all
models.each do |obj|
csv << [ obj.id, obj.get_count]
end
end
。 Railsアプリでは、
CSV.foreach("count.csv", :quote_char => '"', :col_sep =>',', :row_sep =>:auto, :headers => true) do |row|
count = row["count"].to_i if row["id"].to_i == @id
end
このCSVファイルからカウント値を解析する必要があります。問題は、cronの実行時に、私はそのCSVファイルからのカウント値を得ることができないすべてのレコードのためのゼロを返し、実行終了後、私はカウントの値を得ることができます。しかし、私はカウントの価値が常にcronの実行を停止または開始する必要があります、誰も私を解決するか、任意の提案に役立つことができますか?前もって感謝します。
コードはわかりやすく表示されます。 '@id'が初期化されていますか? –
@ダニエル - はい私は初期化しました。この問題は、ルビスクリプト実行時に発生します。 Railsのレポート側では、すべてのデータがゼロになっています。私はどうしたの?任意の推測? – prabu
Railsで単に 'obj.get_count'を呼び出すのではなく、なぜこれをやっていますか? –