このレッスンではキャンプを続けています。特に、作成したばかりのユーザーモデルに焦点を当てます。
コメントモデルとその2つのモデルを関連付けることで、新しいコメントを作成するときに自動的に現在のユーザーとユーザーIDとユーザー名を関連付けます。
だから、私がそれをする前に私が何を意味するかを見せて、私が今V8にいることを強調する。
新しいバージョンでは、一部のモデルをデータベースに大幅に変更して新しいバージョンを保証します。
だからもしあなたが一緒に追いかけたいならばV8。
そして私たちはサーバーを起動してキャンプ場をスラッシュにし、最初に新しいアカウントでサインアップし、このアカウントはポテトとなり、パスワードは再びパスワードになります。
サインアップ。
さあ、Desert
Mesaを見て、新しいコメントを追加してみましょう。目標を達成するためには、このArthurフィールドを消して、著者名を自動的に知り、ユーザーなしで新しいコメントに保存できるようにしましょうそれを手動で指定する必要があります。
だから、ジャガイモのタイトなジャガイモとジャガイモのコメントがあります。
大丈夫。
これを提出し、受け取る。
そして、私たちはこれを見たいと思っています。
ユーザーは実際にそのユーザー名を手動で入力する必要はないはずですが、まったく同じに見えるはずです。
これを行うには、最初に行う必要があるのは、ユーザーのIDとユーザー名を格納できるフィールドをいくつか追加する必要があるコメントモデルです。
だから、サーバーを停止して、コメントモデルを開くようにしてモデルがスラッシュになるようにしてください。ここでは、著者のもとで実際にオブジェクトになる文字列になることはなく、作成者はIDに2つのものを持ちます。
そして、私たちが実際に行うことができるユーザー名も、著者全体をそこに保存することです。
だから私たちは新しいユーザーを持っているようです。
ユーザーアカウントは、ユーザー名potatoのように見えますが、IDにはアンダースコアまたはIDが付いています。
しかし、その狂った長い弦であるハッシュと塩があります。
そして、私たちは各コメントの中にそのすべてのデータを保存したくありません。
それを行うのではなく、コメントを作成したユーザーのIDとそのユーザーのユーザー名である重要な部分を取ります。
IDを保存してから、そのIDを使用して正しい著者を検索し、そこからユーザー名を取得できます。
しかし、私たちがかなり頻繁に名前を印刷するので、これの全体のポイントは、ループして各コメントテキストだけでなく著者も印刷することです。
著者IDを取得してその著者を見つけ、それからユーザ名を見つけることによって、正しい著者を毎回探す必要がある場合は、それほど効率的ではありません。
だから代わりに、私たちはMongoのような非リレーショナルデータベースでしかできないことであるコメントの中にここにデータを格納するつもりです。
だから私はこれまでと同じようにオブジェクトIDを持つスキーマ型をmongoose型として持っているので、Idは別のオブジェクトになります。
私たちがコメントを持っているキャンプ場を見てみると、タイプがManguスキーマタイプのKDEであり、次にrefとrefが必要です。このオブジェクトIDで参照されるモデルを参照しています。ユーザー名は文字列になります。
そして、ここにコンマがあることを確認して保存しておく必要があります。
私は実際に私のデータベースの種子を停止するつもりだから、種子ファイルを開くつもりです。今はかなりのコードをコメントアウトします。
私たちはすべてを取り除きますが、私はキャンプ場を作るつもりはありません。
私たちは手動で開始します。
それで、正しいコードが出ていることを確認しましょう。
だからCGPとキャンプグラウンドを外してコメントを外すだけで、ユーザーIDと著者名またはユーザー名とコードがコメントに追加されるようになります。ここではそれは考慮されていません。
だから、基本的には空白のスレートを始めるだけです。
だから私はデータベースを見るつもりはありませんが、私はそれを実行します。
そして、これがすることは私たちのデータベースからすべてを削除することです。私は今すぐそのことをやります。再起動してからここに戻ったら、もう一度サーバーを起動する必要があります。
私たちはそこにあなたがOKになるキャンプ場がないことを見なければなりません。
だから私はすべてのコメントを解除し、保存し、私は私のaptはいに戻って、ちょうど我々が種と呼んでいる行を削除します。
だから私はシードデータベースをここにコメントを追加します。
そして、今のところ私は実際に同じ行でそれを行うでしょう。
データベースを参照してください。
そして今のところ、私たちはデータベースを見ないとコメントします。
手動でログインして新しい投稿に新しいコメントを追加してユーザーを作成します。
さて、それでは、著者のIDとユーザー名をコメントに関連付けるロジックに注目しましょう。
ですから、ルートの代わりにコメントの代わりにコメントを作成するコードに行く必要があります。
はい、それはここにあります。
このコードで作成されたコメントは、最初に正しいキャンプ場を見つける責任があります。
またはルート内のそのIDを使用します。
そのキャンプ場を見つけたらコメントを作成し、そのコメントをキャンプ場に押し込んでキャンプ場を保存すれば、キャンプグラウンドにコメントを実際にコメントアレイにプッシュしてから、ユーザー名とパスワードを追加しますIDをコメントに追加してコメントを保存します
実際には、現在のユーザーにユーザー名と現在のユーザーのIDを取得する方法を把握するだけで、データ構造をセットアップするだけで、実際はかなり簡単です。
そして、幸いなことに、リクエスト前に、ユーザからのリクエストがあることを期待できる前に、このコードを取得すると、ユーザがロックされていれば唯一の方法が得られるからです。
これはミドルウェアでロックされているため、スレーブログインにリダイレクトするユーザーがいない場合です。
これにより、誰かがログインしていることが保証されます。
それでは、簡単なキャンセルドットログを作成するのはなぜですか？
そして、ユーザーにusernameを要求し、この新しいコメントのユーザー名のようにします。
そのユーザーにusernameを要求し、サーバーを起動させてください。私たちは入り、私たちのデータベースに新しい投稿を追加する必要があります。
私がやることの最初のことはパスワードでパスワードをつけたジャガイモのようにログインしてからキャンプ場を壊すことになります。
今は新しいキャンプ場にあります。
彼らは私がここで使うつもりのクリエイティブ・コモンズのイメージを持っています。
もちろん、イメージを自由に使用することができます。
それから私は名前を追加します。
あなたは完全な山を知っていることを狂ったように狂ったと呼んでみましょう。
そして、その記述のために私はいくつかのプレースホルダーテキストに貼り付けることになっています。
submitをクリックしましょう。
新しいキャンプ場を作る。
さあ、もっと情報に行き、コメントを追加してみましょう。
私はジャガイモとしてサインインしているのが分かります。
新しいコメントを追加しましょう。
ここにテキストを入力してください。
私はもっ​​とLorem Ipsumをやってみよう。
彼らは素晴らしいです。
そして、ここに入力しなくてもポテトを得ることができることを示すために、著者を空白のままにしておきます。
次に、submitをクリックします。
さて、何が大声でカウントされたかを見てみましょう。
だから私はここまでスクロールする必要があります。
名前の新しいコメントはポテトになります。
すばらしいです。
それは要求です。
あなたのユーザー名を使用してください。
また、ユーザーがIDを強調しているという要求もあり、私はKonsoleをもう一度やり直すことはありません。
しかし、それはそこにあると私を信じてください。
以前の動画では、ユーザーにこれらの2つの情報が含まれていることを要求しています。 D. とユーザー名。
ですから、私たちが行く前に、このフィールドをフォームから削除して、このフィールドを削除して、新しいコメントの中に入れてください。
サーバーを停止するのではなく、マウスを使用して見つけます。
だからこそ、この意見は新しいコメントであり、ここではこの全体を取り除くだけです。
だから私たちはもはや著者を持たない。
それは単なるテキストです。
そして、テキストをたどり、submitを押します。
そして、それがここに私たちのデータを送るでしょう、私たちは新しいコメントを作成します。
要求を使用するには、ユーザーのユーザー名とドットI. D. 実際にユーザーをコメントに関連付けることができます。
コメントにユーザー名とIDを追加する。
私たちのモデルが設定された方法のために、著者IDが要求ユーザのドットアンダースコアIDと一般的なドット作成者のドットIDであるというコメントだけをIDから始めましょう。
彗星には著者があり、著者にはIDとユーザー名があります。
さあ、今戻ってみましょう。
ユーザーIDとコメント作成者のドットユーザー名が要求されたユーザーのドットユーザー名と同じで、すべて保存されていることを要求します。
そして、私たちもこの行を取り除かなければならないのは、実際にはコメントを保存するので、そのコメントを保存することです。
そして、それをキャンプ場のコメントにプッシュし、キャンプ場全体を保存します。
それから、リダイレクトします。
そして、私たちがする前に、コンサートログのコメントをして、リダイレクトする前に最後に見たものを見ることができるようにしましょう。
OKをクリックしてサーバーを再起動します。
私たちはページを更新する必要があります。
再度ログインする必要があります。
だからポテトパスワードはパスワードでログインします。
行こう、新しいコメントを追加して、ここのコメントはちょっと待っています。
提出してください。
大丈夫。
ログアウトした内容を見てみましょう。
だから私たちはログを取る他の議会を持っているので、見るのは難しいですが、それはここのレートです。
だから、私たちは文章を持っています。
私たちは共通のIDを持っていますし、私は私がいる著者を持っています。 D. ユーザー名ジャガイモ。
すばらしいです。
ここで最後に行うのは実際にはここにユーザー名を表示することです。
私たちが今行っていることは、私たちが持っていたものすべてがコメントのドット・オーサーであり、これがショー・テンプレート上にあるため、ユーザー全体を表示することです。
だから、キャンプ場のショーテンプレートを開きましょう。私がここで話していることを、私たちはコメントを印刷しています。
著者とそれはこの全体を指しています。
それは私を持っています。 D. ユーザー名は、ユーザーがドットのユーザー名をコメントするコメントが必要です。
これは簡単にユーザー名をドットで保存して保存する方法です。
さて、サーバーの再起動を止めてから、戻ってページを更新すると、ここにジャガイモがあることがわかります。
この最初のコードは、実際にコードが設定されていない場所では正しく作成されませんでした。
だから、それは空の作者のユーザー名を持っていますが、これはうまく動作しています。
別のアカウントの下にもう1つ追加してみましょう。私はこれをトマトと呼び、パスワードもパスワードです。
サインアップ。
コメントを見てみましょう。これはHA HA HAになります。
送信してそこに行く。
ユーザー名トマトが自動的に表示されます。
私たちはユーザーが常に手動で入力する必要はありませんでした。
私はこのビデオを、私たちがやったすべてのことを簡単に要約して終わらせます。
私たちは、モデルにコメントし、著者フィールドに追加することから始めました。
著者にはすでに文字列がありましたが、著者を追加するのは2つのプロパティIDとユーザー名を持ち、IDはユーザーモデルIDへの参照であり、ユーザー名は現在のユーザーの文字列名です。
だから私たちはそれを設定し、私たちはコメントルートに入るためにそれを必要とします。
それは非常にシンプルで、私たちがユーザーIDを要求し、そのユーザーのユーザー名を要求し、それらをコメント作成者に直接接続するというコメントを作成したときには、とても簡単でした。
そして、私たちはコメントを保存しました。
まさに最後のことは、作者にコメントするのではなく、ユーザー名を作成したコメントを表示することでした。
驚くばかり。
これは本当に一緒に来るようになっています。
私たちがどこまで来たのか見てみると、スタイリングのいくつかと一緒に行く方法がまだあります。
私たちは少し論理を持っていますが、これまでのところキャンプでは本当に多くをカバーしています