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