さて、あなたのキャンプにコメントを追加するために取り組む予定の次のビデオに戻ってください。
ですから、私たちが持っているものはすべてキャンプ場のリストです。
キャンプ場をクリックしてショーページに行くと、それについての情報が表示されます。
しかし、ここでコメントやレビューのリストを作成してから、私が新しいレビューをしたことを示すボタンをクリックすると、それをクリックして新しいコメントを送信するフォームに移動することができます。
今ここに戻ってみると、コメントの一覧が表示されます。
それで、それを稼働させるのに関係するものがたくさんあります。
コメントモデルを作成する必要があります。
それをキャンプグラウンドモデルと関連付ける必要があります。
すべてのファイルを正しく要求する必要があり、すべてのビューを作成するために必要なすべてのルートを作成する必要があります。
しかし、実際にはどこか別の場所に着きます。
シードのファイルを作成することから始めます。
シードのファイルのポイントは、いくつかのデータでデータベースをシードするためにシードのファイルを実行できることです。
今はデータベースに4つのキャンプ場があります。
しかし、私がやってみたいのは、実行できるファイルを書き込むことです。そのファイルが行うことは、データベース内のすべてのものを空にして起動し、3つか4つのキャンプ場で追加することです。
それぞれにはいくつかのコメントがあります。
そのため、いくつかのサンプルデータがあります。
私がこれをやっている理由は、コメントを追加するときに、コメントが有効かどうかをすぐに見る方法があるからです。
それ以外の場合は、コメントモデルを作成した後、新しいコメントを取得し、ルートを作成する必要があります。
私たちのコメントが正しく設定されているかどうかを知る前に、さらに多くの作業をしなければなりません。
だから我々は今、同じディレクトリでこれを行うシードのファイルを作成します。
私はまだバージョン3で作業しています。
私はseedという名前の新しいファイルを作成するつもりです。
そして私はそれを開きます。
そこでここでは、各キャンプ場ごとにたくさんのキャンプ場といくつかのコメントを作成します。
最初はエラーが発生します。これはエラー駆動型の開発と呼ばれ、コードを記述しています。
私たちはエラーを受け取り、そのエラーを取り除くためのコードを書いてから、それが動作するまでそれを続けます。
だから私たちは最初にマングースを必要とするつもりですし、それから私たちはキャンプ場を必要とし、それが必要になります。
そして、これはモデルのディレクトリスラッシュキャンプ場にあります。
そして私は引用符を忘れることはできませんが必要です。
そこに行く。
そして、私たちが始めようとしているのは、データベースからすべてを拭き取るだけです。
そして、Mongooseでそれを行う最も簡単な方法は、キャンプ場の削除です。
そして、すべてを削除するように尋ねるだけで、コールバック関数のエラーを追加します。
そして、ログをキャンプグラウンドで削除したコンソールを追加し、私たちのエラーがここで予想されるエラーを処理することを見てみましょう。
確かにそれは技術的には契約違反ではありませんが、エラーが発生した場合は、ここでそのログエラーを取り消します。
次に話したいのは、このファイルをどのように実行するかです。
だから、私のアプリでは、私ができることができるようにしたいのは実際にシードファイルを必要としていると私たちは種子D.
Bとそれは私たちのファイルの名前はここにシードと同じディレクトリ内の実際にはイエスですドットスラッシュシードの必要と等しい必要があります。
だから私たちはドットスラッシュを必要とし、その後私はそれを実行し、最初に播種されたデータベースの種子のようなことをしたい。
このコードでサーバーを起動するたびに、このコードを実行する必要があります。
現在のところ、このファイルが必要なときは、何もエクスポートしていません。
そして、関数をエクスポートしたい。
だからここに戻って関数を書くことにしましょう。
ファンクションシードDBI。
そして、このコードをここに移動し、これをちょっとインデントしてから、シードDBをエクスポートするモジュールを実行します。
ちょうどそれのように。
そして、これはこの関数を送出し、ここにCDBの中に格納され、それを実行することができます。この関数には何でも実行され、現在はすべてのキャンプ場が削除されます。
ですから、ページをロードするときに動作すれば、すべてのキャンプ場がなくてはなりません。
これはちょっとした直感に反しているようですが、クリエーションが効いているときにはこれが意味をなされます。
だから今これをやりましょう。
Node Aptorはい、私たちはキャンプ場を削除します。
新機能の場合はこの関数を呼び出します。
私たちは今キャンプ場を持っていません。
大丈夫。
だから、これをきれいにして、ここで少しコメントしましょう。
すべてのキャンプ場を取り除き、次にやりたいことはいくつかのキャンプ場を追加することです。
だから、いくつかのキャンプ場を追加し、最終的にいくつかのコメントを追加したいと思います。
キャンプ場から始めましょう。
キャンプ場を作るには、キャンプ場を作る必要があります。
そして私たちはデータを渡す必要があります。
しかし、私がしようとしているときに、私たちがたくさんの異なるキャンプ場を作りたいと思っているのであれば、実際にはここでデータを見つけることができます。
それは配列です。
その配列にはいくつかのオブジェクトがあり、各オブジェクトは1つのキャンプ場のための開始データまたはデータになります。
だから私たちは名前をつけて、クラウドの休みをやり直してから、新しい写真を撮ったり、今のところこれを使ったりします。
そして、それがイメージになりますし、これを少し上手くフォーマットしてください。
これを別々の行に置いてみましょう。そして、同様に説明が必要です。私たちの説明はまあまあです。
これで1つのデータが得られました。それから私は少なくとも2つ以上のデータを追加するつもりです。今すぐもう1つデータを追加します。
だから私たちは3つの初期データを持っています。
私はイメージを変更します。
それでは、これをイメージとして取り上げて、この砂漠のメサなどと呼ぶことにします。
そしてもう1つ追加して、ここでこれを実行します。
画像またはLをコピーして、このキャニオンフロアと呼ぶと、その画像を貼り付けてから、同じ説明を続けます。
大丈夫。
これまで行ってきたことは、まだこれを使用していないのですが、3つのデータを持つ配列を見つける必要があります。それぞれのモデルは、モデルの名前と画像が正確にわかっているオブジェクトです。
ここに行くと、彼の名前のイメージと説明がモデル化されます。
OK。
だから、私たちがする必要があるのは、実際にこのデータをループし、それぞれのキャンプ場を作成して、それぞれのために行うことができるようにすることです。
だから私は今それをやるでしょう。
関数ごとにデータを作成し、それをシードと呼びます。
その種子がこれらの1つを表すようになる。
そしてループの中で私たちはキャンプグラウンドをするつもりですか、キャンプ場を作ってここに書いたことがありますか、そして私たちが渡すつもりは中括弧のオブジェクトではありません。
そして、ここと私たちの機能にはエラーがあり、我々はデータも持っていきます。
エラーが出ている場合は、ログのエラーを取り消して、議会の投票ログを残してください。キャンプ場を追加します。
そこで、データベースに追加したい3つの異なるオブジェクトをこのような初期データの配列として作成し、それをループして、それぞれをcampgrounds
createを使用して追加します。
サーバーを再起動するとYelpサーバーがキャンプサーバーを起動したことを確認する必要があります。キャンプグラウンドを追加しました。キャンプグラウンドを追加しました。キャンプグラウンドを追加した後、削除されたキャンプグラウンドを取得します。
しかし、それが起こっている理由は本当に重要です。
これがコールバックを使用する理由です。
キャンプグラウンドを実行すると、コールバック内に置かない限り、このコードが終了した後にこのコードが実行されるという保証はありません。
だから実際にこのコールバックの中のすべてをここに移動してキャンプグラウンドを外したいと思っているだけです。私たちはそれを貼り付けて、ちょうどそのようにインデントします。
だからこれが今やることは、すべての既存のキャンプ場を取り除き、新しいキャンプ場に追加するまで待つことです。
大丈夫。
だから私たちはそれらを異なる順序で見なければならず、私たちは除去されたキャンプ場を追加して加えました。
私たちがリフレッシュすると、3つのキャンプ場が見えます。
OK。
だから私たちは海のデータを使ってコメントを作成しています。私がこれをやる方法は、私たちが別のキャンプ場の中にキャンプ場を作った後です。私は各キャンプ場でコメントをつくっています。今回も同じコメントをしてください。
だから、私たちがしたいことは、存在しないものを作成するコメントを実行することです。それはうまくいかないため、エラーが発生します。
そして、私たちが作成しようとしているコメントには、この場所のテキストは素晴らしいですが、私はそこにインターネットがあって、これでちょっとだけ良いものを作りましょう。
だから我々はテキストを持ち、Homerの著者を持つこのコメントを作成するつもりです。
これでコメントが作成され、ここでコールバック機能エラーが発生し、次に作成されたコメントがこれらのコメントすべてですばやく手に入らないことがわかります。
すぐにこれをリファクタリングする方法があります。
これはColback地獄と呼ばれるものです。
非常に多くのコールバックがある場合は、コメントが作成されるとこれが実行され、作成されると、それをキャンプ場に関連付ける必要があります。次に、現在データを呼び出すキャンプ場を取得します。
それをデータと呼ぶのではなく、単にキャンプグラウンドと呼ぶことにしましょう。そして、ここでは、キャンプグラウンドを行うつもりです。コメントは、このテキストとこの著者が作成したばかりの新しいコメントを押し上げます。
ここでもコンマは必要ありません。
そして、一度それを行うと、キャンプ場を保存し、ここでエラー処理を追加して、ifエラーを追加します。
コメントを作成できない場合は、エラーが記録されます。
コメントを作成することができれば、それをキャンプ場に関連付けることになります。ここでは、作成した新しいコメントを示すログインをキャンセルします。
大丈夫。
これは少しマラソンです。
これについていくつか説明しましょう。
だから私たちがやっていることは、すべてのキャンプ場でデータベースのすべてを取り除くことから始まっている。
技術的にはコメントを削除していないので、コメントがあれば修正することができます。
しかし、私たちはすべてのキャンプ場を移動しており、3つのキャンプ場を作っています。
それぞれが種データのため一意です。
そして、いったん作成すると、そのコメントを作成し、コメントはすべて同じになります。
だから私たちは3つの異なる投稿で終わるつもりです。
3つの異なるキャンプ場。
しかし、あなたがそれらをクリックすると、彼らは、「この場所は素晴らしいですが、ホーマーによって書かれたインターネットがあることを望みます。
そのコメントを作成したら、それをキャンプ場に関連付けて、キャンプ場のコメントアレイにプッシュし、キャンプ場を保存してから、新しいコメントを作成して印刷します。少し警告がありますここに。
コメントは定義されていません。
VARコメントを追加する必要があります。
平等には、存在しないドットスラッシュモデルのスラッシュコメントが必要です。
そして、これはエラー駆動開発という意味です。
サーバーを停止して再起動すると、モジュールモデルが見つからないというメッセージが表示されます。
次のビデオでは、これらのエラーをなくすことに焦点を当てています。
だから私たちがやったことは、私たちがそれを動作させる方法で動作するプラン・シードのファイルをセットアップすることですが、まだ動作していないので、今は動作させる必要があります。