Thema per E-Mail-Adresse verfolgen, ohne Registrierung

Ich habe einige Zeit damit verbracht, den Code zu durchforsten. Ich glaube, so etwas (Warnung: sehr wahrscheinlich funktioniert es nicht, da ich es noch nicht ausprobiert habe) würde funktionieren, um dem Benutzer zu ermöglichen, eine Antwort nur mit einer E-Mail zu posten. Ich würde mich über Ihre Kommentare freuen.

Ich bin mir besonders nicht sicher, ob dies der beste Weg ist, einen gestuften Benutzer zu erstellen. Ich habe jedoch keine Methode gefunden, die speziell gestufte Benutzer erstellt.

class SomePluginController < ApplicationController

  # Stellen Sie sicher, dass ein gestufter Benutzer in der Datenbank vorhanden ist
  def ensure_user

    # Prüfen Sie, ob ein gestufter Benutzer vorhanden ist
    user = User.where(staged: true).with_email(params[:email].strip.downcase).first

    # Erstellen Sie manuell einen gestuften Benutzer
    if !user
      user = User.new
      user.staged = true
      user.email = params[:email]
      user.active = false
      user.save!
    end
    
    user
  end

  # Thema als gestufter Benutzer beobachten
  def staged_watch

    user = ensure_user

    topic = Topic.find(params[:topic_id].to_i)
    TopicUser.change(user, topic.id, notification_level: params[:notification_level].to_i)

  end

  # Auf Thema als gestufter Benutzer antworten
  def staged_reply
 
    user = ensure_user

    manager = NewPostManager.new(user,
                             raw: params[:body],
                             topic_id: params[:topic_id])
    result = manager.perform

  end

end
3 „Gefällt mir“