إنشاء مستخدم مرحلي يدويًا؟

هل يمكنني إنشاء مستخدم مرحلي يدويًا؟ باستخدام rake، يمكنني إنشاء مستخدم عادي بالطبع. أخبرني الذكاء الاصطناعي واسع المعرفة أنني لا أستطيع، وأنا أصدقه، ولكن مع ذلك…

ربما يجب أن أشرح ما أحاول القيام به.

لدي إعداد WordPress/WooCommerce حيث يمكن للعميل حجز موعد. سيرسل العميل معلومات إضافية باستخدام نموذج يتم تقديمه بواسطة WordPress. يتم إرسال هذا النموذج إلى صندوق الوارد الجماعي (الخاص بي). ومع ذلك، نظرًا لأنني أستخدم Amazon SES، لا يمكنني استخدام البريد الإلكتروني الخاص بالعميل كمرسل، لأنه عندئذٍ يجب عليّ الموافقة على هذا المرسل يدويًا، وهذا ليس خيارًا. لذا، أتلقى البريد الإلكتروني من عنوان WordPress الخاص بي.

الآن، أحتاج إلى ربط هذا الموضوع الخاص بـ PM ببريد العميل الإلكتروني بطريقة ما، تلقائيًا، أو بأقل جهد ممكن من جانبي. والحل الوحيد الذي توصلت إليه معرفتي المحدودة هو تغيير الملكية - ولكن لهذا، أحتاج إلى مستخدم.

لماذا لا أستخدم OAuth وأنشئ هذا المستخدم، بما أنه يتعين عليهم إنشاء حساب على WordPress؟ لأنني ببساطة لا أستطيع فهم كيفية القيام بذلك، أو لم أجد الموضوع المناسب هنا. في كثير من الأحيان، لا يكون تسجيل الدخول الموحد المقترح خيارًا، لأنه يستولي على جميع خيارات تسجيل الدخول الأخرى.

جرب إدخال الحاوية ./launcher enter app

ثم ادخل إلى وحدة تحكم Rails:

rails c

قم بإنشاء مستخدم جديد:

new_user = User.create

ثم… وسيفشل هذا في البداية، حاول حفظه (لإنشائه)

new_user.save!

اتبع التعليمات لملء السمات غير الصالحة حتى يتم حفظها.

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

new_user.username = 'frank'

سيتجاوز خطأ تحقق واحد.

اغسل وكرر، في النهاية سيتم حفظ المستخدم.

ببساطة اكتب new_user لرؤية مدى تقدمك ولكن اعلم أنك لا تحتاج إلى إكمال كل حقل، فقط تلك التي بها مشكلة تحقق.

لا تنس حفظه، حيث سيكون new_user كائنًا مؤقتًا حتى يعمل الحفظ.

إعجابَين (2)

أنا فقط أتساءل… هناك هذا: staged: false

كيف يمكنني رؤية كل تلك البيانات من مستخدم حقيقي تم إنشاؤه؟ أم أنني فقط أغوص في الماء العميق الآن وأحاول القيام بأشياء يائسة، ويجب علي فقط إنشاء هؤلاء المستخدمين يدويًا عبر إنشاء حساب :joy:

User.where(staged: true).first(10)

3 إعجابات

من فضلك، هل يمكن لـ Discard أن يطلب ببساطة هل أنت متأكد :man_facepalming:

مرة أخرى. لا أعرف ما إذا كان هذا يعمل، لأنني كنت غبيًا بما يكفي للعمل بحالة حقيقية، لذلك لا يمكنني اختباره. لكن لدي مستخدم مرحلي جديد تمامًا.

هذا ما فعلته:

newuser = User.create
newuser.username = 'frank'
newuser.staged = true
newuser.email = 'frank@example.tld'
newuser.save!

أعتقد أن هذا يمكن أن يعمل أيضًا، لكنني لم أجربه.

newuser = User.create!(username: "frank", staged: true, email: "frank@example.tld")
إعجاب واحد (1)

نعم، هذا النهج يجب أن ينجح أيضًا.

باستثناء… لا يمكنني تغيير ملكية رسالة خاصة إلى مستخدم مرحلي :man_facepalming:

لذا، طالما أنني لا أبدأ في بناء شيء OAuth، فإن خياري الوحيد هو إرسال رسالة خاصة إلى البريد الإلكتروني الخاص بهذا المستخدم. سيحدث نفس التصعيد، إذا كنت أفهم بشكل صحيح.

أو أوافق على هذا المستخدم. هذا خيار. أفضل عدم القيام بذلك، على الرغم من ذلك، لأنني سأفعل ذلك دون موافقة.

لكنني الآن أعرف أساسيات كيفية إنشاء/تعديل مستخدم باستخدام Rails :winking_face_with_tongue: هذا انتصار أيضًا. بالإضافة إلى أنني أنشأت مستخدمًا مرحليًا لا يمكنني فعل أي شيء به.

newsuser.destroy

(ملاحظة: ليس “delete”)

إعجاب واحد (1)

طريقة أخرى وجدتها هي:

١) إنشاء فئة… (سميتها صندوق الوارد)

٢) في إعدادات تلك الفئة، قم بتمكين “قبول رسائل البريد الإلكتروني من المستخدمين المجهولين بدون حسابات”

٣) أرسل بريدًا إلكترونيًا إلى هذا العنوان

لا أتابع :thinking: كيف يمكنني إرسال بريد إلكتروني من عنوان غريب لإنشاء هذا المستخدم المُعدّ وكيف يختلف ذلك عن استخدام عنوان مجموعة؟

لقد سعيت فقط إلى أبسط طريقة لإنشاء مستخدم مرحلي يدويًا (لاستخدامي المحدد لإنشاء مواضيع جديدة على منتدىي الخاص عن طريق البريد الإلكتروني من ساعتي). أنا متأكد من وجود العديد من الطرق الأخرى!

(هل جربت ذلك؟)

لا، لأنني ما زلت لا أفهم كيف يمكنني إرسال بريد إلكتروني باستخدام عنوان ليس عنواني.

إعجاب واحد (1)

في المثال أعلاه، أرسلت بريدًا إلكترونيًا من عنوان بريدي الإلكتروني العادي الذي أستخدمه كل يوم…
إلى…
عنوان البريد الإلكتروني الذي وضعته في إعداد الفئة لفئة البريد الوارد الجديدة التي أنشأتها، وفي هذه الحالة (كما هو موضح في المثال أعلاه) inbox@forum.mysite.com وهو بالطبع أيضًا عنوان بريد إلكتروني أملكه (لأن النطاق هو نفسه نطاق المنتدى الخاص بي).

إعجاب واحد (1)

ولكن Jagster يريد إنشاء مستخدم مرحلي لمستخدمه. لا يمكنه إرسال بريد إلكتروني لهم.

ربما يمكن أن ينجح إرسال رسالة شخصية إلى عنوان بريد إلكتروني في هذه الحالة :thinking:

كنت أسأل كيف يمكنني إنشاء مستخدم مرحلي (بمعنى أنه نوع من قبل-TL) لشخص حقيقي دون الحاجة إلى مطالبة هذا الشخص بإرسال بريد إلكتروني إلى المنتدى.

لقد واجهنا حاجز لغة ضخم مرة أخرى، أفترض (نحن بحاجة ماسة إلى مترجم الذكاء الاصطناعي) :joy:

لإنشاء شخص وهمي، مرحلي أو مسجل، إنها مهمة سهلة للغاية باستخدام iPhone.

لذا قمت بحلها. في نفس الوقت أتيحت لي الفرصة لشرح ما كنت أفعله. ولكن مرة أخرى، لن يكون إنشاء مستخدم مرحلي هو المشكلة الحقيقية التي كنت أحاول حلها، بل ربط المتابعات بـ WooCommerce الخاص بي - لذلك فعلت ما هو معتاد هذه الأيام: توصلت إلى حل واحد وطلبت ذلك الحل. لكن ذلك كان عن قصد، لأنني كنت أعرف أنني لا أستطيع أن أسأل كيف أرسل بريدًا إلكترونيًا من WooCommerce حيث يكون المرسل هو هذا المستخدم، ولن يقوم Amazon SES بذلك. أو كيف أقوم بمزامنة مستخدمي WordPress مع المنتدى تلقائيًا، لأن هذا إجراء غير قانوني عمليًا.

لذا، فإن إنشاء مستخدم مرحلي يدويًا كان كل ما يمكنني التوصل إليه :smirking_face:

إعجاب واحد (1)

لست متأكدًا من أنني أفهم تمامًا متطلبات التوجيه المحددة لحالة استخدام Jagster.

لكنني أتلقى رسائل بريد إلكتروني في فئة البريد الوارد الخاصة بي في Discourse (كما وصفت أعلاه) من عنوان بريد إلكتروني لا يمكنني الإرسال منه. هذه رسائل بريد إلكتروني من عميل أراسله باستخدام حساب Gmail الخاص بي.

إليك كيف قمت بإعداده…

في حساب Gmail الخاص بي، قمت بإعداد فلتر يلتقط جميع رسائل البريد الإلكتروني المستلمة من عنوان البريد الإلكتروني الخاص بهذا العميل، والذي (مع الاحتفاظ بنسخة في Gmail) يقوم بعد ذلك بإعادة توجيه تلك الرسائل إلى عنوان البريد الإلكتروني الذي قمت بتعيينه لاستقبال رسائل البريد الإلكتروني في فئة البريد الوارد في مثيل Discourse الخاص بي.

أعتقد أنه يمكنني أيضًا (أو بدلاً من ذلك) تعيين فئة البريد الوارد هذه (في إعدادات فئتها) لـ “محاكاة قائمة بريدية” والتي يمكنني (وغيري اختياريًا) الاشتراك فيها أيضًا.

:exploding_head:

هؤلاء المستخدمون لم يرسلوا أي شيء، وهذه هي المشكلة. لو فعلوا لكان لدي الكثير من الخيارات ورسائل المجموعات هي الحل العملي بالنسبة لي.

والعودة إلى المشكلة الحقيقية. عندما يشتري مستخدم خدمة، يحصل على رابط إلى نموذج تم إنشاؤه بواسطة إضافة في WooCommerce. لا، لا يمكنني استخدام Discourse لهذا، لأنك تعلم، ليس لديهم أي نوع من المستخدمين. يمكنني إرسال هذا النموذج إلى Discourse، ولكن فقط من عناوين معتمدة، وعناوين العملاء ليست معتمدة ولن تكون معتمدة في SES. لذا أحتاج إلى ربط هذا العميل الذي أرسل النموذج، الآن رسالة خاصة، بطريقة ما. عندها يمكنني المتابعة مع هذا العميل في المنتدى، بسبب كل الأدوات التي يقدمها.

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