1
00:00:00,110 --> 00:00:04,410
さて、あなたのキャンプにコメントを追加するために取り組む予定の次のビデオに戻ってください。

2
00:00:04,560 --> 00:00:08,280
ですから、私たちが持っているものはすべてキャンプ場のリストです。

3
00:00:08,450 --> 00:00:12,930
キャンプ場をクリックしてショーページに行くと、それについての情報が表示されます。

4
00:00:13,200 --> 00:00:18,270
&nbsp;

5
00:00:18,270 --> 00:00:23,440
しかし、ここでコメントやレビューのリストを作成してから、私が新しいレビューをしたことを示すボタンをクリックすると、それをクリックして新しいコメントを送信するフォームに移動することができます。

6
00:00:23,460 --> 00:00:26,560
今ここに戻ってみると、コメントの一覧が表示されます。

7
00:00:27,000 --> 00:00:29,290
それで、それを稼働させるのに関係するものがたくさんあります。

8
00:00:29,460 --> 00:00:31,120
コメントモデルを作成する必要があります。

9
00:00:31,140 --> 00:00:33,530
それをキャンプグラウンドモデルと関連付ける必要があります。

10
00:00:33,530 --> 00:00:37,740
すべてのファイルを正しく要求する必要があり、すべてのビューを作成するために必要なすべてのルートを作成する必要があります。

11
00:00:37,740 --> 00:00:38,870
&nbsp;

12
00:00:39,540 --> 00:00:41,310
しかし、実際にはどこか別の場所に着きます。

13
00:00:41,430 --> 00:00:44,290
シードのファイルを作成することから始めます。

14
00:00:44,520 --> 00:00:49,340
シードのファイルのポイントは、いくつかのデータでデータベースをシードするためにシードのファイルを実行できることです。

15
00:00:49,560 --> 00:00:53,240
今はデータベースに4つのキャンプ場があります。

16
00:00:53,430 --> 00:00:58,710
しかし、私がやってみたいのは、実行できるファイルを書き込むことです。そのファイルが行うことは、データベース内のすべてのものを空にして起動し、3つか4つのキャンプ場で追加することです。

17
00:00:58,710 --> 00:01:03,240
&nbsp;

18
00:01:03,330 --> 00:01:04,910
それぞれにはいくつかのコメントがあります。

19
00:01:04,920 --> 00:01:07,080
そのため、いくつかのサンプルデータがあります。

20
00:01:07,140 --> 00:01:12,060
私がこれをやっている理由は、コメントを追加するときに、コメントが有効かどうかをすぐに見る方法があるからです。

21
00:01:12,060 --> 00:01:13,580
&nbsp;

22
00:01:13,920 --> 00:01:18,810
それ以外の場合は、コメントモデルを作成した後、新しいコメントを取得し、ルートを作成する必要があります。

23
00:01:19,290 --> 00:01:23,260
私たちのコメントが正しく設定されているかどうかを知る前に、さらに多くの作業をしなければなりません。

24
00:01:23,310 --> 00:01:28,730
だから我々は今、同じディレクトリでこれを行うシードのファイルを作成します。

25
00:01:28,800 --> 00:01:30,530
私はまだバージョン3で作業しています。

26
00:01:30,630 --> 00:01:34,300
私はseedという名前の新しいファイルを作成するつもりです。

27
00:01:34,890 --> 00:01:38,630
そして私はそれを開きます。

28
00:01:38,820 --> 00:01:44,100
そこでここでは、各キャンプ場ごとにたくさんのキャンプ場といくつかのコメントを作成します。

29
00:01:44,430 --> 00:01:49,170
最初はエラーが発生します。これはエラー駆動型の開発と呼ばれ、コードを記述しています。

30
00:01:49,170 --> 00:01:50,960
&nbsp;

31
00:01:51,180 --> 00:01:55,590
私たちはエラーを受け取り、そのエラーを取り除くためのコードを書いてから、それが動作するまでそれを続けます。

32
00:01:55,590 --> 00:01:56,460
&nbsp;

33
00:01:56,460 --> 00:01:58,260
&nbsp;

34
00:02:01,230 --> 00:02:07,630
だから私たちは最初にマングースを必要とするつもりですし、それから私たちはキャンプ場を必要とし、それが必要になります。

35
00:02:07,680 --> 00:02:11,330
そして、これはモデルのディレクトリスラッシュキャンプ場にあります。

36
00:02:11,960 --> 00:02:15,810
そして私は引用符を忘れることはできませんが必要です。

37
00:02:15,810 --> 00:02:17,270
そこに行く。

38
00:02:17,340 --> 00:02:20,890
そして、私たちが始めようとしているのは、データベースからすべてを拭き取るだけです。

39
00:02:21,030 --> 00:02:26,240
そして、Mongooseでそれを行う最も簡単な方法は、キャンプ場の削除です。

40
00:02:26,790 --> 00:02:32,940
そして、すべてを削除するように尋ねるだけで、コールバック関数のエラーを追加します。

41
00:02:34,800 --> 00:02:41,520
そして、ログをキャンプグラウンドで削除したコンソールを追加し、私たちのエラーがここで予想されるエラーを処理することを見てみましょう。

42
00:02:44,840 --> 00:02:48,080
&nbsp;

43
00:02:48,210 --> 00:02:55,110
確かにそれは技術的には契約違反ではありませんが、エラーが発生した場合は、ここでそのログエラーを取り消します。

44
00:02:55,230 --> 00:02:56,670
&nbsp;

45
00:02:56,700 --> 00:02:59,730
次に話したいのは、このファイルをどのように実行するかです。

46
00:02:59,880 --> 00:03:06,150
だから、私のアプリでは、私ができることができるようにしたいのは実際にシードファイルを必要としていると私たちは種子D.

47
00:03:06,150 --> 00:03:16,830
Bとそれは私たちのファイルの名前はここにシードと同じディレクトリ内の実際にはイエスですドットスラッシュシードの必要と等しい必要があります。

48
00:03:16,830 --> 00:03:20,570
&nbsp;

49
00:03:20,700 --> 00:03:26,570
だから私たちはドットスラッシュを必要とし、その後私はそれを実行し、最初に播種されたデータベースの種子のようなことをしたい。

50
00:03:26,580 --> 00:03:30,200
&nbsp;

51
00:03:30,210 --> 00:03:33,450
このコードでサーバーを起動するたびに、このコードを実行する必要があります。

52
00:03:33,600 --> 00:03:37,440
現在のところ、このファイルが必要なときは、何もエクスポートしていません。

53
00:03:37,710 --> 00:03:39,600
そして、関数をエクスポートしたい。

54
00:03:39,630 --> 00:03:42,580
だからここに戻って関数を書くことにしましょう。

55
00:03:42,720 --> 00:03:46,310
ファンクションシードDBI。

56
00:03:47,190 --> 00:03:55,530
そして、このコードをここに移動し、これをちょっとインデントしてから、シードDBをエクスポートするモジュールを実行します。

57
00:03:55,530 --> 00:04:00,250
&nbsp;

58
00:04:01,110 --> 00:04:02,240
ちょうどそれのように。

59
00:04:02,310 --> 00:04:10,050
そして、これはこの関数を送出し、ここにCDBの中に格納され、それを実行することができます。この関数には何でも実行され、現在はすべてのキャンプ場が削除されます。

60
00:04:10,050 --> 00:04:15,210
&nbsp;

61
00:04:15,930 --> 00:04:20,120
ですから、ページをロードするときに動作すれば、すべてのキャンプ場がなくてはなりません。

62
00:04:20,790 --> 00:04:25,620
これはちょっとした直感に反しているようですが、クリエーションが効いているときにはこれが意味をなされます。

63
00:04:25,620 --> 00:04:26,490
&nbsp;

64
00:04:26,790 --> 00:04:27,980
だから今これをやりましょう。

65
00:04:28,170 --> 00:04:32,480
Node Aptorはい、私たちはキャンプ場を削除します。

66
00:04:32,490 --> 00:04:35,760
新機能の場合はこの関数を呼び出します。

67
00:04:36,030 --> 00:04:37,940
私たちは今キャンプ場を持っていません。

68
00:04:37,950 --> 00:04:38,580
大丈夫。

69
00:04:39,000 --> 00:04:41,670
だから、これをきれいにして、ここで少しコメントしましょう。

70
00:04:41,670 --> 00:04:47,700
すべてのキャンプ場を取り除き、次にやりたいことはいくつかのキャンプ場を追加することです。

71
00:04:48,030 --> 00:04:54,680
だから、いくつかのキャンプ場を追加し、最終的にいくつかのコメントを追加したいと思います。

72
00:04:55,380 --> 00:04:56,840
キャンプ場から始めましょう。

73
00:04:57,240 --> 00:05:01,080
キャンプ場を作るには、キャンプ場を作る必要があります。

74
00:05:01,440 --> 00:05:03,030
そして私たちはデータを渡す必要があります。

75
00:05:03,180 --> 00:05:07,500
しかし、私がしようとしているときに、私たちがたくさんの異なるキャンプ場を作りたいと思っているのであれば、実際にはここでデータを見つけることができます。

76
00:05:07,500 --> 00:05:09,850
&nbsp;

77
00:05:10,160 --> 00:05:11,210
それは配列です。

78
00:05:11,490 --> 00:05:17,610
その配列にはいくつかのオブジェクトがあり、各オブジェクトは1つのキャンプ場のための開始データまたはデータになります。

79
00:05:17,880 --> 00:05:19,570
&nbsp;

80
00:05:19,650 --> 00:05:27,150
だから私たちは名前をつけて、クラウドの休みをやり直してから、新しい写真を撮ったり、今のところこれを使ったりします。

81
00:05:27,150 --> 00:05:28,280
&nbsp;

82
00:05:30,620 --> 00:05:35,980
そして、それがイメージになりますし、これを少し上手くフォーマットしてください。

83
00:05:36,580 --> 00:05:42,430
これを別々の行に置いてみましょう。そして、同様に説明が必要です。私たちの説明はまあまあです。

84
00:05:42,430 --> 00:05:44,480
&nbsp;

85
00:05:45,040 --> 00:05:52,930
これで1つのデータが得られました。それから私は少なくとも2つ以上のデータを追加するつもりです。今すぐもう1つデータを追加します。

86
00:05:52,930 --> 00:05:54,410
&nbsp;

87
00:05:55,210 --> 00:05:57,120
だから私たちは3つの初期データを持っています。

88
00:05:57,130 --> 00:05:58,770
私はイメージを変更します。

89
00:05:59,020 --> 00:06:01,030
&nbsp;

90
00:06:06,250 --> 00:06:10,890
それでは、これをイメージとして取り上げて、この砂漠のメサなどと呼ぶことにします。

91
00:06:11,140 --> 00:06:15,960
そしてもう1つ追加して、ここでこれを実行します。

92
00:06:16,030 --> 00:06:24,430
画像またはLをコピーして、このキャニオンフロアと呼ぶと、その画像を貼り付けてから、同じ説明を続けます。

93
00:06:24,430 --> 00:06:25,790
&nbsp;

94
00:06:25,810 --> 00:06:26,040
大丈夫。

95
00:06:26,050 --> 00:06:31,390
&nbsp;

96
00:06:31,390 --> 00:06:37,060
これまで行ってきたことは、まだこれを使用していないのですが、3つのデータを持つ配列を見つける必要があります。それぞれのモデルは、モデルの名前と画像が正確にわかっているオブジェクトです。

97
00:06:37,060 --> 00:06:38,020
&nbsp;

98
00:06:38,020 --> 00:06:42,490
ここに行くと、彼の名前のイメージと説明がモデル化されます。

99
00:06:42,900 --> 00:06:43,230
OK。

100
00:06:43,240 --> 00:06:49,780
だから、私たちがする必要があるのは、実際にこのデータをループし、それぞれのキャンプ場を作成して、それぞれのために行うことができるようにすることです。

101
00:06:49,780 --> 00:06:51,270
&nbsp;

102
00:06:51,280 --> 00:06:53,390
だから私は今それをやるでしょう。

103
00:06:53,500 --> 00:07:02,600
関数ごとにデータを作成し、それをシードと呼びます。

104
00:07:02,620 --> 00:07:05,190
その種子がこれらの1つを表すようになる。

105
00:07:05,410 --> 00:07:12,310
そしてループの中で私たちはキャンプグラウンドをするつもりですか、キャンプ場を作ってここに書いたことがありますか、そして私たちが渡すつもりは中括弧のオブジェクトではありません。

106
00:07:13,040 --> 00:07:18,430
&nbsp;

107
00:07:18,700 --> 00:07:26,040
そして、ここと私たちの機能にはエラーがあり、我々はデータも持っていきます。

108
00:07:26,080 --> 00:07:36,460
エラーが出ている場合は、ログのエラーを取り消して、議会の投票ログを残してください。キャンプ場を追加します。

109
00:07:38,410 --> 00:07:44,170
そこで、データベースに追加したい3つの異なるオブジェクトをこのような初期データの配列として作成し、それをループして、それぞれをcampgrounds

110
00:07:44,710 --> 00:07:50,120
createを使用して追加します。

111
00:07:50,140 --> 00:07:57,880
サーバーを再起動するとYelpサーバーがキャンプサーバーを起動したことを確認する必要があります。キャンプグラウンドを追加しました。キャンプグラウンドを追加しました。キャンプグラウンドを追加した後、削除されたキャンプグラウンドを取得します。

112
00:07:58,090 --> 00:08:03,760
&nbsp;

113
00:08:03,760 --> 00:08:05,150
&nbsp;

114
00:08:05,290 --> 00:08:07,970
しかし、それが起こっている理由は本当に重要です。

115
00:08:08,020 --> 00:08:09,840
これがコールバックを使用する理由です。

116
00:08:10,030 --> 00:08:17,170
キャンプグラウンドを実行すると、コールバック内に置かない限り、このコードが終了した後にこのコードが実行されるという保証はありません。

117
00:08:17,170 --> 00:08:20,290
&nbsp;

118
00:08:20,320 --> 00:08:27,790
だから実際にこのコールバックの中のすべてをここに移動してキャンプグラウンドを外したいと思っているだけです。私たちはそれを貼り付けて、ちょうどそのようにインデントします。

119
00:08:28,690 --> 00:08:34,410
&nbsp;

120
00:08:34,720 --> 00:08:40,300
だからこれが今やることは、すべての既存のキャンプ場を取り除き、新しいキャンプ場に追加するまで待つことです。

121
00:08:40,300 --> 00:08:41,800
&nbsp;

122
00:08:41,800 --> 00:08:42,260
大丈夫。

123
00:08:42,490 --> 00:08:48,080
だから私たちはそれらを異なる順序で見なければならず、私たちは除去されたキャンプ場を追加して加えました。

124
00:08:48,230 --> 00:08:52,620
私たちがリフレッシュすると、3つのキャンプ場が見えます。

125
00:08:52,990 --> 00:08:53,220
OK。

126
00:08:53,230 --> 00:08:58,990
&nbsp;

127
00:08:58,990 --> 00:09:06,550
&nbsp;

128
00:09:06,850 --> 00:09:09,370
だから私たちは海のデータを使ってコメントを作成しています。私がこれをやる方法は、私たちが別のキャンプ場の中にキャンプ場を作った後です。私は各キャンプ場でコメントをつくっています。今回も同じコメントをしてください。

129
00:09:09,370 --> 00:09:15,610
だから、私たちがしたいことは、存在しないものを作成するコメントを実行することです。それはうまくいかないため、エラーが発生します。

130
00:09:15,610 --> 00:09:17,060
&nbsp;

131
00:09:17,380 --> 00:09:25,600
そして、私たちが作成しようとしているコメントには、この場所のテキストは素晴らしいですが、私はそこにインターネットがあって、これでちょっとだけ良いものを作りましょう。

132
00:09:25,600 --> 00:09:29,280
&nbsp;

133
00:09:29,290 --> 00:09:36,010
だから我々はテキストを持ち、Homerの著者を持つこのコメントを作成するつもりです。

134
00:09:36,530 --> 00:09:42,850
これでコメントが作成され、ここでコールバック機能エラーが発生し、次に作成されたコメントがこれらのコメントすべてですばやく手に入らないことがわかります。

135
00:09:42,880 --> 00:09:48,170
&nbsp;

136
00:09:48,310 --> 00:09:50,440
すぐにこれをリファクタリングする方法があります。

137
00:09:50,440 --> 00:09:52,460
これはColback地獄と呼ばれるものです。

138
00:09:52,510 --> 00:09:59,200
非常に多くのコールバックがある場合は、コメントが作成されるとこれが実行され、作成されると、それをキャンプ場に関連付ける必要があります。次に、現在データを呼び出すキャンプ場を取得します。

139
00:09:59,200 --> 00:10:03,970
&nbsp;

140
00:10:03,970 --> 00:10:05,450
&nbsp;

141
00:10:05,710 --> 00:10:11,170
&nbsp;

142
00:10:11,260 --> 00:10:19,900
それをデータと呼ぶのではなく、単にキャンプグラウンドと呼ぶことにしましょう。そして、ここでは、キャンプグラウンドを行うつもりです。コメントは、このテキストとこの著者が作成したばかりの新しいコメントを押し上げます。

143
00:10:20,440 --> 00:10:22,400
ここでもコンマは必要ありません。

144
00:10:23,230 --> 00:10:29,590
そして、一度それを行うと、キャンプ場を保存し、ここでエラー処理を追加して、ifエラーを追加します。

145
00:10:29,590 --> 00:10:31,090
&nbsp;

146
00:10:31,300 --> 00:10:36,190
コメントを作成できない場合は、エラーが記録されます。

147
00:10:38,250 --> 00:10:45,880
コメントを作成することができれば、それをキャンプ場に関連付けることになります。ここでは、作成した新しいコメントを示すログインをキャンセルします。

148
00:10:45,930 --> 00:10:53,330
&nbsp;

149
00:10:53,350 --> 00:10:53,850
大丈夫。

150
00:10:53,890 --> 00:10:55,460
これは少しマラソンです。

151
00:10:55,570 --> 00:10:58,230
これについていくつか説明しましょう。

152
00:10:58,270 --> 00:11:04,260
だから私たちがやっていることは、すべてのキャンプ場でデータベースのすべてを取り除くことから始まっている。

153
00:11:04,300 --> 00:11:08,890
技術的にはコメントを削除していないので、コメントがあれば修正することができます。

154
00:11:09,040 --> 00:11:14,170
しかし、私たちはすべてのキャンプ場を移動しており、3つのキャンプ場を作っています。

155
00:11:14,170 --> 00:11:17,460
それぞれが種データのため一意です。

156
00:11:17,980 --> 00:11:23,680
そして、いったん作成すると、そのコメントを作成し、コメントはすべて同じになります。

157
00:11:23,680 --> 00:11:24,370
&nbsp;

158
00:11:24,370 --> 00:11:26,310
だから私たちは3つの異なる投稿で終わるつもりです。

159
00:11:26,380 --> 00:11:27,510
3つの異なるキャンプ場。

160
00:11:27,730 --> 00:11:33,520
しかし、あなたがそれらをクリックすると、彼らは、「この場所は素晴らしいですが、ホーマーによって書かれたインターネットがあることを望みます。

161
00:11:33,550 --> 00:11:36,240
&nbsp;

162
00:11:36,520 --> 00:11:41,260
&nbsp;

163
00:11:41,260 --> 00:11:47,110
&nbsp;

164
00:11:48,010 --> 00:11:49,730
そのコメントを作成したら、それをキャンプ場に関連付けて、キャンプ場のコメントアレイにプッシュし、キャンプ場を保存してから、新しいコメントを作成して印刷します。少し警告がありますここに。

165
00:11:49,750 --> 00:11:51,270
コメントは定義されていません。

166
00:11:51,640 --> 00:11:55,670
VARコメントを追加する必要があります。

167
00:11:55,990 --> 00:12:03,830
平等には、存在しないドットスラッシュモデルのスラッシュコメントが必要です。

168
00:12:04,210 --> 00:12:06,160
そして、これはエラー駆動開発という意味です。

169
00:12:06,160 --> 00:12:13,130
サーバーを停止して再起動すると、モジュールモデルが見つからないというメッセージが表示されます。

170
00:12:13,150 --> 00:12:17,650
次のビデオでは、これらのエラーをなくすことに焦点を当てています。

171
00:12:17,650 --> 00:12:23,320
だから私たちがやったことは、私たちがそれを動作させる方法で動作するプラン・シードのファイルをセットアップすることですが、まだ動作していないので、今は動作させる必要があります。

172
00:12:23,320 --> 00:12:27,440
&nbsp;
