سمات المستخدم

مرحباً،

لقد حاولت تشغيل أوامر في rails c مثل User.find(1).update(ip_address: nil, topics_viewed: nil) لتحديث الأشياء في القائمة أدناه - ومع ذلك، استمررت في تلقي أخطاء:

كيف يمكنني تغيير هذه القيم؟

شكراً.

ما هي الأخطاء التي تحصل عليها؟

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

ما المشكلة التي تحاول حلها؟

إعجابَين (2)

أحاول فقط إعادة تعيين الإحصائيات، وأريد التخلص من topics_viewed و posts_read و read_time و last_emailed. لست مهتمًا بتفاصيل المستخدم حيث يمكن تغييرها باستخدام الواجهة، فقط القيم التي تؤثر على ملف تعريف المستخدم ولكن لا يمكن تحريرها.

لا يمكن تحريرها لأنها ليست جزءًا من نموذج المستخدم.

يوجد نموذج يتتبع المواضيع التي شاهدها المستخدم (TopicViewItem)، لذا ستحتاج إلى مسحها (ربما TopicViewItem.destroy_all – لا – هذا لا يعمل.) ثم تشغيل أي تحديثات لذلك. وإذا تم إرسالها عبر البريد الإلكتروني، فإن آخر مرة تم إرسالها فيها عبر البريد الإلكتروني ستكون آخر مرة تم إرسالها فيها.

يوجد نموذج PostTiming يتتبع المشاركات التي تمت قراءتها، و
وقت القراءة. آه، يمكنك البحث في المصدر عن PostTiming والعثور على شيء مثل

      PostTiming.destroy_for(current_user.id, [topic_id])

لذا هذه بداية. ربما هذا:

      PostTiming.destroy_for(1, PostTiming.where(user_id: 1).pluck(:topic_id).uniq))

هناك بعض مهام ensureconsistency التي قد تكون طريقة لتحديثها، لكنني لست متأكدًا تمامًا.

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

في هذه الحالة، هل من الممكن دمج حساب مسؤول عبر وحدة التحكم؟ أنا على علم بأنه ليس عبر واجهة المسؤول.

فقط قم بإزالة امتيازات المسؤول الخاصة بهم وقم بذلك؟

ولكن يبدو أنه يمكنك القيام بذلك باستخدام مهمة rake: Merging user accounts

إعجابَين (2)

شكرًا على ذلك - لست متأكدًا مما إذا كان من الممكن إلغاء امتيازات المسؤول للمسؤول الأصلي.

إذا كان مطورًا (تم تعيين ذلك في app.yml) فأعتقد أنك على حق.

أيضًا، لقد لاحظت للتو مهمة الـ rake هذه!

rake destroy:stats

يبدو أن هذا قد يفعل ما تريده.

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

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