لقد قمت بالترقية إلى 3.1.0.beta4 والآن أحد المكونات الإضافية الخاصة بي لم يعد يعمل وأواجه صعوبة في معرفة كيفية ترقية هذا الجزء من التعليمات البرمجية:
after_initialize do
User.register_custom_field_type('myfield', :json)
# نحتاج إلى جعله قابلاً للتحرير للسماح بالوصول إلى واجهة برمجة التطبيقات
register_editable_user_custom_field :myfield
register_editable_user_custom_field myfield: {} **---- الخطأ هنا**
# سيؤدي هذا إلى إضافة الحقل داخل JSON المنشور
add_to_serializer(:post, :user_myfield, false) {
# الموظفون هم المسؤول + المشرف
object.user.custom_fields['myfield'] if object.user && scope.is_staff?
}
end
هذا هو الخطأ أثناء الترقية:
I, [2023-04-18T13:14:53.725429 #1] INFO -- : > cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate'
rake aborted!
ArgumentError: wrong number of arguments (given 0, expected 1)
/var/www/discourse/lib/plugin/instance.rb:185:in `register_editable_user_custom_field'
/var/www/discourse/plugins/discourse-test-information/plugin.rb:18:in `block in activate!'
/var/www/discourse/lib/plugin/instance.rb:507:in `block in notify_after_initialize'
/var/www/discourse/lib/plugin/instance.rb:505:in `each'
/var/www/discourse/lib/plugin/instance.rb:505:in `notify_after_initialize'
/var/www/discourse/config/application.rb:228:in `each'
/var/www/discourse/config/application.rb:228:in `block (2 levels) in <class:Application>'
/var/www/discourse/lib/plugin.rb:6:in `initialization_guard'
/var/www/discourse/config/application.rb:228:in `block in <class:Application>'
هل يمكن لأي شخص أن يعطيني تلميحًا حول ما تغير وكيف أحتاج إلى تكييف التعليمات البرمجية الخاصة بي؟
شكرًا مع خالص التقدير،
مايكل