إضافة إلى مترجم المستخدم لا تعمل بالنسبة لكائن المستخدم الحالي

لقد أضفت حقلاً مخصصًا في نموذج المستخدم ولكن عندما حاولت جلبه في كائن المستخدم الحالي، لم أحصل على الحقل المخصص. كيف يمكنني جلب الحقل المخصص؟

لقد جربت الكود أدناه

require_dependency ‘user_serializer’
class ::UserSerializer
attributes :custom_thumbnail_style_dropdown
def custom_thumbnail_style_dropdown
object.custom_fields[custom_thumbnail_style_dropdown]
end
end

حتى أنني جربت object.custom_thumbnail_style_dropdown في التعريف ولكنه لم يعمل.

جربت أيضًا الكود أدناه

add_to_serializer(:user, :custom_thumbnail_style_dropdown, false) do
object.custom_thumbnail_style_dropdown
end

أي مساعدة ستكون موضع تقدير!

مرحباً @Harshit_Dave

إذن يجب عليك الإضافة إلى CurrentUserSerializer بدلاً من UserSerializer:wink:

على سبيل المثال:

  add_to_serializer(:current_user, :can_create_poll) do
    scope.user&.staff? || scope.user&.in_any_groups?(SiteSetting.poll_create_allowed_groups_map)
  end
إعجابَين (2)

مرحباً @Lhc_fl

شكراً على رسالتك!

لقد حاولت استخدام مُسلسل :current_user ولكنني واجهت خطأ NoMethodError

لقد جربت الكود التالي. لست متأكداً من الكود لأنني جديد على discourse:

add_to_serializer(:current_user, :custom_thumbnail_style_dropdown) do
object.custom_thumbnail_style_dropdown
end

هنا object هو مثيل لـ User، وليس UserSerializer. لذلك، يجب أن تكتب شيئًا مثل هذا:

add_to_serializer(:current_user, :custom_thumbnail_style_dropdown) do
    object.custom_fields["custom_thumbnail_style_dropdown"]
end
4 إعجابات

لقد نجح الأمر معي. شكراً جزيلاً!

إعجابَين (2)

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.