مرحباً بمجتمع Discourse!
أنا جديد في Discourse وأحاول استخدام معرفتي القليلة بلغة Ruby. شكراً لمساعدتكم!
هذا هو مشروعي:
لقد أنشأت حقولاً مخصصة للتعرف على مستخدم جديد بشكل أفضل والآن أريد تحديث الحقل المخصص للمستخدمين القدامى.
أريد عرض سؤالي عند تسجيل الدخول إذا كان الحقل فارغاً.
إذا فهمت Discourse بشكل صحيح، أحتاج إلى برمجة إضافة (plugin).
هل لديك أي نصيحة أو مثال في ذهنك لهذا التحدي الأول؟
شكراً مقدماً!
في وحدة تحكم Rails، أستخدم
UserCustomField.where.not(value: [nil])
للعثور على المستخدمين الذين ردوا بالفعل ولكن بالنسبة للباقي، أجف…
كيف يمكنني الحصول على المستخدمين الذين لم يجيبوا على السؤال؟
أعتقد أنني سأحتاج إلى معرفة ذلك لاحقًا.
اقتراحان:
-
فكر في السؤال عن كيفية حل مشكلتك (جعل المستخدمين يملؤون الحقل). هل يمكن أن يكون المكون الإضافي لمعالج المستخدمين حلاً؟
-
انقل هذا إلى Dev واسأل هناك. أعتقد أنه قد يكون ممكنًا باستخدام مكون سمة إذا كانت القيم موجودة في المسلسل.
لأي من الأمرين، قم بتغيير الموضوع إلى شيء مثل “كيف يمكنني إجبار المستخدمين على ملء حقل مخصص عندما يكون فارغًا”
ليس لدي إجابة جيدة جدًا، على الرغم من ذلك. ![]()
لهذا السؤال المحدد، بافتراض أن السؤال غير المجاب عليه سيكون NULL في قاعدة البيانات، يمكنك ببساطة استبدال where.not(value: [nil]) بـ where(value: nil).
يمكنك أيضًا استخدام where(value: [nil, ""])، وهو ما يعادل WHERE (something.value IS NULL OR something.value = "") في SQL، للبحث عن سلسلة فارغة أو NULL. لست متأكدًا مما إذا كان من المحتمل أن يكون أحدهما أو ما إذا كان من المحتمل أن يتغير (من NULL إلى “”) إذا قام المستخدم بإرسال حقل فارغ.
شكرا @pfaffman. سأتبع نصيحتك. ![]()
شكرا @Simon_Manning على هذه الدقة. سيساعدني هذا كثيرا!
هذا المكون الإضافي رائع. شكراً @pfaffman
شكراً لكم مرة أخرى يا رفاق. يعمل المكون الإضافي للسحرة المخصص بشكل جيد جدًا ![]()