كنت في حاجة ماسة إلى نفس الميزة قبل عامين. وما زلت لم أكتشف كيفية القيام بذلك (بشكل) أفضل. هذا هو الحل المؤقت الخاص بي:
def get_topic_post(topic_id, post_num)
topic = @api.topic(topic_id, {print: true})
post_obj = topic['post_stream']['posts'].find { |p| p['post_number'] == post_num }
if post_obj
post_obj['id']
else
throw "Could not find post #{topic_id}/#{post_num}."
end
end
يتجاوز هذا الحل المشاكل المذكورة: فـ {print: true} يعالج مشكلة التصفح الصفحي. أما find فهو ضروري لأن التعديل قد يسبب عدم تطابق بين مؤشرات المصفوفة وأرقام المنشورات.
يعمل هذا الحل مع المواضيع بالحجم الذي أعمل عليه. ومع ذلك، فإن وجود طريقة أكثر مباشرة عبر واجهة برمجة التطبيقات (API) سيكون أكثر إرضاءً.