ipboard3.rb によるインポートスクリプトの問題

IPBフォーラムからデータをインポートしようとしていますが、ipboard3スクリプトを実行すると以下のエラーが表示されます。

script/import_scripts/ipboard3.rb:375:in `clean_up': undefined method `encode!' for nil:NilClass (NoMethodError)
root@forum:/var/www/discourse#  `clean_up': undefined method `encode!'

なぜ ‘encode!’ メソッドが未定義として扱われるのでしょうか?:confused:

rawnil として渡されているためです。

したがって、どの関数がこれを呼び出しているのか、またなぜ投稿の生データ(raw data)が取得できていないのかを特定する必要があります。

私の推測では、この行が原因かもしれません:

           bio_raw: clean_up(u["pp_about_me"]),

もしそうなら、clean_up を変更して、データが得られない場合は nil を返すようにするべきでしょう。

これは適切でしょうか?

if raw.to_i.zero?
return
end

これを試しましたが、ユーザー、トピック、投稿はすべてインポートされました。しかし、投稿本文は空です。なぜだか分かりますか?“return nil” を追加してもあまり意味がないと思いますが、どう思いますか?
また、すべてのプライベートメッセージもインポートされましたが、それらも空です。

なぜかデータベースクエリが正しく動作しません。投稿コンテンツのデータが取得できていません。

いいえ、それでは頻繁に発火してしまいます。代わりにこちらを試してください:

return if raw.nil?

不思議ですね。IPB3 を使用しており、カラム名を確認しましたが一致しています :open_mouth:

スクリプトが実行しているクエリを実行した場合、期待するデータが得られますか?

if raw.to_i.zero?

を以下のように変更しましたか?

if raw.length == 0

"randome text".to_i.zero? は常に true になります。