Kapitel 14 des Rails-Lernprogramms enthält einige Themen, mit denen die Funktionalität für diejenigen erweitert werden kann, die das Lernprogramm abgeschlossen haben. Ich fordere die Antwortfunktion heraus, die das erste Thema ist. Ich arbeite noch daran, aber ich werde es veröffentlichen, so weit ich kann.
Die Anforderungen sind wie folgt geschrieben.
Twitter verfügt über eine Funktion, mit der Sie einem Benutzer antworten können, indem Sie den Anmeldenamen des Benutzers nach dem @ -Zeichen eingeben, während Sie den Mikropost eingeben. Dieser Beitrag ist nur für den Feed des Empfängers und für die Personen sichtbar, die Ihnen folgen. Lassen Sie uns eine einfache Version dieser Antwortfunktion implementieren. Insbesondere sollte @reply nur im Feed des Empfängers und im Feed des Absenders erscheinen.
Technische Hinweise werden ebenfalls geschrieben.
Um dies zu implementieren, müssen Sie meiner Meinung nach die Spalte in_reply_to der Mikroposttabelle und einen zusätzlichen Bereich include_replies zum Mikropostmodell hinzufügen.
Teilen Sie Ihre Anforderungen spezifisch auf.
・ @Reply wird von den folgenden drei Parteien angezeigt Empfänger der Antwort Antwort Absender (selbst) Antworten Sie auf Absender-Follower
Für andere Benutzer als die oben genannten nicht sichtbar
-Wenn zu Beginn des Micropost "@reply user's login name" eingegeben wird, wird dieser Beitrag als Antwort gewertet.
Als ich im Tutorial "6.2.5 Eindeutigkeit der E-Mail-Adresse" zurücklas, wurde geschrieben, ob zwischen Groß- und Kleinschreibung unterschieden werden soll. Ob der Benutzername zwischen Groß- und Kleinschreibung unterscheiden soll oder ob Taro und TARO unterschiedlich sein sollen. Finden Sie heraus, wie Twitter im Internet ist.
Obwohl es intern dasselbe ist, gab es viele Artikel, die zum Zeitpunkt der Eingabe geteilt wurden. Ich konnte den Artikel, den ich schrieb, nicht finden. Ich werde es mit den gleichen Spezifikationen wie Mead machen.
Ich habe mich entschieden, diese Fallfunktion später als von Anfang an hinzuzufügen. Es schien einfach, später hinzuzufügen.
Es ähnelt den zuvor hinzugefügten Funktionen. Lesen Sie also zurück, welche Funktionen ähnlich sind.
Ähnlich der Funktion des Mikroposts in Kapitel 13 Ähnlich wie bei der Benutzerregistrierungsfunktion in Kapitel 6.7 6.2.5 Überprüfen Sie die Eindeutigkeit Eindeutigkeit der E-Mail-Adresse
Basierend auf dem Ergebnis haben wir die folgenden Funktionen berücksichtigt.
Wir haben uns entschlossen, die endgültige Funktion "Benutzername eindeutig" später hinzuzufügen, anstatt von vorne zu beginnen. Dies liegt daran, dass ich dachte, ich sollte zuerst etwas erstellen, das nur mit eindeutigen Testdaten funktioniert, und dann eine Einschränkungsfunktion hinzufügen, die es später eindeutig macht.
Lesen Sie Kapitel 14, 14.1.1 erneut. Es war ein Verwandter zwischen den Ausweisen.
Ich denke, ich muss der Microposts-Tabelle eine in_reply_to-Spalte und einen zusätzlichen include_replies-Bereich zum Micropost-Modell hinzufügen.
Überlegen Sie, wie Sie das Modell mit dem Hinweis ändern können.
microposts
Spaltenname | Attribut |
---|---|
id | integer |
content | text |
user_id | integer |
in_reply_to | integer |
created_at | datetime |
updated_at | datetime |
Was wäre der Typ, wenn wir eine Spalte für in_reply_to hinzufügen würden? Ich dachte, es sei dasselbe wie id und integer, weil es den Benutzer identifiziert.
Gibt an, ob eine Mikropost-Methode hinzugefügt oder eine vorhandene Methode geändert werden soll. Siehe Tabelle 13.1 user.micrposts Bestehende Änderungen, die den Satz von User-Mikroposts ersetzen user.microposts.build (arg) Vorhandene Änderung, die ein neues Micropost-Objekt zurückgibt, das dem Benutzer zugeordnet ist user.microposts.find_by (id: 1) Vorhandene Änderung zur Suche nach Mikroposts, die an den Benutzer gebunden sind und die ID 1 haben.
Überlegen Sie, ob Sie eine Antwortmethode hinzufügen möchten. user.microposts.create (arg, reply: user2) Erstellt einen Antwort-Mikropost für user2 Wir beschließen, die vorhandene Erstellungsmethode zu ändern.
Es gibt zwei Hauptbildschirme, einen zum Eingeben einer Antwort und einen zum Anzeigen einer Antwort.
Ich dachte, dass ich die Anzahl der Eingabeelemente nicht erhöhen muss, weil ich am Anfang des Inhalts @reply geschrieben habe.
Benötigen Sie einen Nur-Antwort-Bildschirm für die Ausgabe? Überprüfen Sie Twitter. Wenn Sie auf den ursprünglichen Tweet klicken, wird die Antwort auf einen anderen Bildschirm verschoben und die Liste der Antworten wird angezeigt. Die Tweets des Elternteils und des Kindes der Antwort werden in einer Liste angezeigt.
Es ist ein bisschen kompliziert, also werde ich diesmal nicht so weit gehen und es auf dem gleichen Bildschirm wie der ursprüngliche Tweet anzeigen.
Das Bild auf dem Bildschirm ist nur Text, da es schwierig ist, ein Modell zu erstellen. comment box : @reply michael Cum aspermatur ..
Bild des Feeds anzeigen @reply michael Cum aspermatur ..
Wenn die Benutzer-ID nicht gefunden wird, zeigt das benutzerfreundliche Design während der Eingabe einen Fehler an. Ich werde den Fehler anzeigen, da er beim Erstellen überprüft werden sollte.
Was tun, wenn user_id nach dem Posten gelöscht wird? Soll ich diesen Mikropost löschen? Ich denke, dass es besser ist, nur den Mikropost zu belassen, der der Person beantwortet wurde, die nicht mehr da ist, und ich denke, dass der Mikropost nicht gelöscht wird.
3,0 Stunden von 9/27 bis 10/1.
Recommended Posts