1
00:00:00,110 --> 00:00:04,410
Bem, volte nos próximos vídeos, vamos trabalhar na adição de comentários ao seu acampamento.

2
00:00:04,560 --> 00:00:08,280
Então, atualmente, tudo o que temos é uma lista de campgrounds.

3
00:00:08,450 --> 00:00:12,930
E quando eu clico em um acampamento para ir à página do show, vemos algumas informações sobre isso.

4
00:00:13,200 --> 00:00:18,270
Mas o que queremos acontecer é que haja uma lista de comentários ou comentários aqui e, em seguida, um botão

5
00:00:18,270 --> 00:00:23,440
que diz que eu fiz uma nova revisão e podemos clicar nisso e ir para um formulário enviar um novo comentário.

6
00:00:23,460 --> 00:00:26,560
Agora nos leve de volta aqui e veremos uma lista de comentários.

7
00:00:27,000 --> 00:00:29,290
Então, há muitas coisas envolvidas para que isso funcione.

8
00:00:29,460 --> 00:00:31,120
Temos de criar o modelo de comentário.

9
00:00:31,140 --> 00:00:33,530
Temos que associá-lo ao modelo do acampamento.

10
00:00:33,530 --> 00:00:37,740
Temos de exigir todos os arquivos corretamente, então temos que criar todas as rotas que temos para

11
00:00:37,740 --> 00:00:38,870
criar todas as visualizações.

12
00:00:39,540 --> 00:00:41,310
Mas, na verdade, vamos começar em outro lugar.

13
00:00:41,430 --> 00:00:44,290
Vamos começar criando o que é chamado de arquivo de uma semente.

14
00:00:44,520 --> 00:00:49,340
E o ponto do arquivo de uma semente é que podemos executá-lo para semear nosso banco de dados com alguns dados.

15
00:00:49,560 --> 00:00:53,240
Então, agora, temos quatro acampamentos no banco de dados.

16
00:00:53,430 --> 00:00:58,710
fará é esvaziar tudo no meu banco de dados para começar e, em seguida, ele irá adicionar em três ou quatro campgrounds.

17
00:00:58,710 --> 00:01:03,240
Mas o que eu quero fazer é escrever um arquivo que eu possa executar e o que esse arquivo

18
00:01:03,330 --> 00:01:04,910
E cada um terá alguns comentários.

19
00:01:04,920 --> 00:01:07,080
Então, temos alguns dados de exemplo para trabalhar.

20
00:01:07,140 --> 00:01:12,060
E o motivo pelo qual estou fazendo isso é para que, quando adicionamos comentários, teremos uma maneira de ver imediatamente se

21
00:01:12,060 --> 00:01:13,580
os comentários estiverem funcionando ou não.

22
00:01:13,920 --> 00:01:18,810
Caso contrário, uma vez que criamos o modelo de comentário, teríamos que começar o comentário novo e criar rota funcionando.

23
00:01:19,290 --> 00:01:23,260
E temos que fazer muito mais trabalho antes que possamos até dizer se nossos comentários estão configurados corretamente.

24
00:01:23,310 --> 00:01:28,730
Então, vamos criar um arquivo de semente para fazer isso agora no mesmo diretório.

25
00:01:28,800 --> 00:01:30,530
Ainda estou trabalhando na versão 3.

26
00:01:30,630 --> 00:01:34,300
Eu vou criar um novo arquivo chamado sementes que sim.

27
00:01:34,890 --> 00:01:38,630
E vou abrir isso.

28
00:01:38,820 --> 00:01:44,100
Então, para reiterar aqui, vamos criar um monte de campgrounds e alguns comentários para cada acampamento.

29
00:01:44,430 --> 00:01:49,170
E no começo, vamos ter erros e isso é o que algumas pessoas chamam de desenvolvimento motivado por erro,

30
00:01:49,170 --> 00:01:50,960
onde escrevemos um código que queremos trabalhar.

31
00:01:51,180 --> 00:01:55,590
Recebemos um erro e depois escrevemos algum código para que esse erro desapareça e depois continuamos fazendo isso

32
00:01:55,590 --> 00:01:56,460
até que ele funcione.

33
00:01:56,460 --> 00:01:58,260
Então vamos exigir um

34
00:02:01,230 --> 00:02:07,630
mangusto primeiro assim e então vamos exigir um acampamento e isso será exigido.

35
00:02:07,680 --> 00:02:11,330
E isso é no diretório de modelos barramento acampamento.

36
00:02:11,960 --> 00:02:15,810
E eu preciso de citações não posso esquecer isso.

37
00:02:15,810 --> 00:02:17,270
Aqui vamos nós.

38
00:02:17,340 --> 00:02:20,890
E então, o que queremos fazer para começar é limpar tudo da nossa base de dados.

39
00:02:21,030 --> 00:02:26,240
E a maneira mais fácil de fazer isso com o Mongoose é o remoção de um acampamento.

40
00:02:26,790 --> 00:02:32,940
E só pediremos que o remova e depois vamos adicionar um erro de função de retorno de chamada.

41
00:02:34,800 --> 00:02:41,520
E então, basta adicionar um console que registre os acampamentos removidos e vejamos o que nosso

42
00:02:44,840 --> 00:02:48,080
erro é o erro esperado para ser tratado.

43
00:02:48,210 --> 00:02:55,110
Ok, então, tecnicamente, isso não é um disjuntor de negócios, mas se conseguirmos um erro, iremos adicionar cancelar esse

44
00:02:55,230 --> 00:02:56,670
erro de registro aqui.

45
00:02:56,700 --> 00:02:59,730
A próxima coisa que eu quero falar é como vamos executar este arquivo.

46
00:02:59,880 --> 00:03:06,150
Então, na minha aplicação, ensinou-nos o que eu quero ser capaz de fazer é, na verdade,

47
00:03:06,150 --> 00:03:16,830
exigir o arquivo de sementes e chamaremos de algo como a semente D. B e isso deve ser igual a exigir a semente de barras de ponto, que é o nome do

48
00:03:16,830 --> 00:03:20,570
nosso arquivo logo nas sementes e que no mesmo diretório é realmente sim.

49
00:03:20,700 --> 00:03:26,570
Então precisamos da barra de ponto e então eu quero poder executá-lo depois e fazer

50
00:03:26,580 --> 00:03:30,200
algo como semear o banco de dados semeado no início.

51
00:03:30,210 --> 00:03:33,450
Toda vez que iniciar o servidor por este código deve ser executado.

52
00:03:33,600 --> 00:03:37,440
No entanto, agora mesmo quando exigimos este arquivo, não estamos exportando nada.

53
00:03:37,710 --> 00:03:39,600
E queremos exportar uma função.

54
00:03:39,630 --> 00:03:42,580
Então vamos voltar e vamos escrever uma função aqui.

55
00:03:42,720 --> 00:03:46,310
Função semente DBI.

56
00:03:47,190 --> 00:03:55,530
forma e recuar um pouco e, então, vamos fazer um módulo que exporta igual a DB de semente.

57
00:03:55,530 --> 00:04:00,250
E nós vamos mover esse código para dentro da mesma

58
00:04:01,110 --> 00:04:02,240
Bem desse jeito.

59
00:04:02,310 --> 00:04:10,050
E assim isso enviará esta função e será armazenado dentro do CDB aqui e então podemos executá-lo e ele executará o que quer

60
00:04:10,050 --> 00:04:15,210
que esteja nesta função e tudo o que faz agora é remover todos os campgrounds.

61
00:04:15,930 --> 00:04:20,120
Então, se funcionar quando carregamos a página, todo o acampamento deve ter desaparecido.

62
00:04:20,790 --> 00:04:25,620
O que parece um pouco contra-intuitivo por enquanto, mas isso terá mais sentido quando tivermos a

63
00:04:25,620 --> 00:04:26,490
Criação funcionando também.

64
00:04:26,790 --> 00:04:27,980
Então, vamos fazer isso agora.

65
00:04:28,170 --> 00:04:32,480
Nó Aptor Sim, nós removemos os acampamentos.

66
00:04:32,490 --> 00:04:35,760
Então, chame essa função se estivermos frescos.

67
00:04:36,030 --> 00:04:37,940
Agora não temos acampamentos.

68
00:04:37,950 --> 00:04:38,580
Tudo bem.

69
00:04:39,000 --> 00:04:41,670
Então, vamos limpar isso e fazer um pequeno comentário aqui.

70
00:04:41,670 --> 00:04:47,700
Remova todos os acampamentos, então o que queremos fazer em seguida é adicionar alguns campgrounds.

71
00:04:48,030 --> 00:04:54,680
Então, adicione alguns campgrounds e, em seguida, também queremos adicionar alguns comentários eventualmente.

72
00:04:55,380 --> 00:04:56,840
Vamos começar com o acampamento.

73
00:04:57,240 --> 00:05:01,080
Então, para criar um acampamento, precisamos fazer um acampamento criado.

74
00:05:01,440 --> 00:05:03,030
E nós precisamos passar dados.

75
00:05:03,180 --> 00:05:07,500
Mas se quisermos criar um monte de campgrounds diferentes quando eu for fazer, é realmente

76
00:05:07,500 --> 00:05:09,850
encontrar alguns dados aqui, vamos apenas chamar dados.

77
00:05:10,160 --> 00:05:11,210
E é uma matriz.

78
00:05:11,490 --> 00:05:17,610
E naquela matriz vai ter alguns objetos e cada objeto será o dado inicial ou os

79
00:05:17,880 --> 00:05:19,570
dados para um acampamento.

80
00:05:19,650 --> 00:05:27,150
o nome e nós faremos o resto da Cloud novamente e então eu vou ter uma nova foto ou usar essa por agora.

81
00:05:27,150 --> 00:05:28,280
Então, nós teremos

82
00:05:30,620 --> 00:05:35,980
E então, isso será imagem e, em seguida, formatará este um pouco mais agradável.

83
00:05:36,580 --> 00:05:42,430
Vamos colocar isso em linhas separadas e então precisamos também de uma descrição e nossa descrição

84
00:05:42,430 --> 00:05:44,480
será apenas blá blá blá.

85
00:05:45,040 --> 00:05:52,930
OK, então é uma peça de dados e então vou adicionar mais pelo menos dois mais assim e vamos

86
00:05:52,930 --> 00:05:54,410
fazer mais um agora.

87
00:05:55,210 --> 00:05:57,120
Então, temos três peças de dados iniciais.

88
00:05:57,130 --> 00:05:58,770
Vou mudar as imagens.

89
00:05:59,020 --> 00:06:01,030
Então, vamos pegar este como

90
00:06:06,250 --> 00:06:10,890
uma imagem e chamaremos esse deserto da Mesa ou algo assim.

91
00:06:11,140 --> 00:06:15,960
E então vamos adicionar um mais e vamos com isso aqui.

92
00:06:16,030 --> 00:06:24,430
Copie a imagem ou L e nós chamaremos esse chão de garganta e vou colar essa imagem e depois manteremos

93
00:06:24,430 --> 00:06:25,790
a mesma descrição.

94
00:06:25,810 --> 00:06:26,040
Tudo bem.

95
00:06:26,050 --> 00:06:31,390
fizemos até agora, não estamos usando isso ainda, mas temos que encontrar uma matriz que tenha três dados e

96
00:06:31,390 --> 00:06:37,060
cada um é um objeto que possui uma imagem e descrição do nome, exatamente o que nosso modelo esperava .

97
00:06:37,060 --> 00:06:38,020
Então, o que

98
00:06:38,020 --> 00:06:42,490
Se nós vamos aqui, modelo sua imagem e descrição do nome.

99
00:06:42,900 --> 00:06:43,230
ESTÁ BEM.

100
00:06:43,240 --> 00:06:49,780
Então, o que precisamos fazer é realmente transmitir esses dados e criar um acampamento para cada um, para que possamos

101
00:06:49,780 --> 00:06:51,270
fazê-lo por cada um.

102
00:06:51,280 --> 00:06:53,390
Então vou fazer isso agora.

103
00:06:53,500 --> 00:07:02,600
Nós faremos um dado para cada função e chamaremos de semente.

104
00:07:02,620 --> 00:07:05,190
Então, essa semente vai representar um desses.

105
00:07:05,410 --> 00:07:12,310
E, em seguida, dentro do loop, vamos fazer um acampamento ou você escreveu aqui que os acampamentos criam e

106
00:07:13,040 --> 00:07:18,430
o que vamos passar não é um objeto em chaves para dar-lhe sementes assim.

107
00:07:18,700 --> 00:07:26,040
E então nossa função aqui e isso terá erro e também teremos dados e nós o faremos.

108
00:07:26,080 --> 00:07:36,460
Se houver um erro, cancele o erro de registro em outro registro de votos do Conselho e apenas você adicionou um acampamento.

109
00:07:38,410 --> 00:07:44,170
Então, nós criamos essa matriz de dados de partida três objetos diferentes que queremos adicionar ao banco de

110
00:07:44,710 --> 00:07:50,120
dados e, em seguida, estamos passando por isso e estamos adicionando cada um usando campgrounds criar.

111
00:07:50,140 --> 00:07:57,880
agora, se reiniciarmos o servidor, devemos ver o servidor de Yelp ter iniciado o servidor do acampamento, adicionou um acampamento adicionado ao acampamento

112
00:07:58,090 --> 00:08:03,760
adicionado e, em seguida, nós removemos os acampamentos e isso pode não ser o que você espera.

113
00:08:03,760 --> 00:08:05,150
Então, se executarmos isso

114
00:08:05,290 --> 00:08:07,970
Mas o motivo pelo qual isso está acontecendo é realmente importante.

115
00:08:08,020 --> 00:08:09,840
É por isso que usamos callbacks.

116
00:08:10,030 --> 00:08:17,170
Então, lembre-se quando corremos para os campgrounds, não há garantia de que este código aconteça depois que este termine,

117
00:08:17,170 --> 00:08:20,290
a menos que o colocamos dentro do callback.

118
00:08:20,320 --> 00:08:27,790
Então, realmente queremos mover tudo isso dentro deste retorno de chamada aqui mesmo, o recado de

119
00:08:28,690 --> 00:08:34,410
campainha remove e nós apenas colaremos isso e nós vamos recuar isso assim.

120
00:08:34,720 --> 00:08:40,300
fazer agora é esperar até remover todos os acampamentos existentes e depois adicionar nos nossos novos campgrounds.

121
00:08:40,300 --> 00:08:41,800
Então, o que isso vai

122
00:08:41,800 --> 00:08:42,260
Tudo bem.

123
00:08:42,490 --> 00:08:48,080
Então, agora devemos ver aqueles em uma ordem diferente e nós removemos o acampamento adicionado adicionado adicionado.

124
00:08:48,230 --> 00:08:52,620
E se atualizarmos, agora vemos esses três campgrounds.

125
00:08:52,990 --> 00:08:53,220
ESTÁ BEM.

126
00:08:53,230 --> 00:08:58,990
Então nós temos nossos dados do mar trabalhando agora queremos trabalhar com comentários e a maneira que

127
00:08:58,990 --> 00:09:06,550
eu vou fazer isso é depois que criamos um acampamento dentro do outro, eu vou criar nossos comentários em cada acampamento e nós

128
00:09:06,850 --> 00:09:09,370
vamos apenas faça o mesmo comentário desta vez.

129
00:09:09,370 --> 00:09:15,610
Então, o que queremos fazer é executar comentários que criam, que ainda não existem, que não vai funcionar e que tudo

130
00:09:15,610 --> 00:09:17,060
bem, vamos ter um erro.

131
00:09:17,380 --> 00:09:25,600
E o comentário que vamos criar, teremos um texto deste lugar é ótimo, mas eu queria que houvesse

132
00:09:25,600 --> 00:09:29,280
Internet e vamos nos formar um pouco melhor.

133
00:09:29,290 --> 00:09:36,010
Então, vamos criar esse comentário que tenha texto e terá um autor de Homer.

134
00:09:36,530 --> 00:09:42,850
OK, então isso criará um comentário e, em seguida, precisamos do nosso retorno de chamada aqui erro de função e, em

135
00:09:42,880 --> 00:09:48,170
seguida, o comentário que foi criado, você pode ver isso está ficando rapidamente fora de todos os comentários.

136
00:09:48,310 --> 00:09:50,440
Você verá uma maneira de refatorar isso em breve.

137
00:09:50,440 --> 00:09:52,460
É o que se chama "inferno de Colback".

138
00:09:52,510 --> 00:09:59,200
Se tantos callbacks Então, isso será executado uma vez que o comentário tenha criado e, uma vez que ele for criado,

139
00:09:59,200 --> 00:10:03,970
queremos associá-lo ao acampamento e então vamos pegar o acampamento que foi criado, que atualmente

140
00:10:03,970 --> 00:10:05,450
estamos chamando de dados.

141
00:10:05,710 --> 00:10:11,170
E ao invés de chamar dados, basta chamá-lo de acampamento e, em seguida, desceremos

142
00:10:11,260 --> 00:10:19,900
aqui, vamos fazer um acampamento com os comentários, empurrar o novo comentário que acabamos de criar, que tem esse texto e esse autor.

143
00:10:20,440 --> 00:10:22,400
Eu também não preciso de uma vírgula.

144
00:10:23,230 --> 00:10:29,590
fazemos isso, precisamos salvar o acampamento e, em seguida, também adicionamos o tratamento de erros aqui, então adicionarei um erro if.

145
00:10:29,590 --> 00:10:31,090
E então, uma vez que

146
00:10:31,300 --> 00:10:36,190
Então, se não pudermos criar um comentário, nós sempre registraremos um erro.

147
00:10:38,250 --> 00:10:45,880
E se pudermos criar um comentário, então vamos associá-lo ao acampamento

148
00:10:45,930 --> 00:10:53,330
e também cancelaremos o login aqui que diz novos comentários criados.

149
00:10:53,350 --> 00:10:53,850
Tudo bem.

150
00:10:53,890 --> 00:10:55,460
Então, este é um pouco de uma maratona.

151
00:10:55,570 --> 00:10:58,230
Vamos passar por cima disso.

152
00:10:58,270 --> 00:11:04,260
Então, o que estamos fazendo, começamos removendo tudo no banco de dados de todos os campgrounds.

153
00:11:04,300 --> 00:11:08,890
Tecnicamente, não estamos removendo comentários para que possamos voltar e consertar isso depois de termos comentários.

154
00:11:09,040 --> 00:11:14,170
Mas estamos movendo todos os campgrounds e então estamos criando três campgrounds.

155
00:11:14,170 --> 00:11:17,460
Cada um exclusivo por causa dos dados de sementes.

156
00:11:17,980 --> 00:11:23,680
E então, uma vez que criamos um, vamos criar um comentário para aquele e os comentários são

157
00:11:23,680 --> 00:11:24,370
todos iguais.

158
00:11:24,370 --> 00:11:26,310
Então vamos terminar com três postagens diferentes.

159
00:11:26,380 --> 00:11:27,510
Três acampamentos diferentes.

160
00:11:27,730 --> 00:11:33,520
o mesmo comentário que diz que este lugar é ótimo, mas eu queria que a internet fosse escrita pela Homer.

161
00:11:33,550 --> 00:11:36,240
Mas quando você clicar neles, veremos se eles têm exatamente

162
00:11:36,520 --> 00:11:41,260
E então, uma vez que criamos esse comentário, temos de associá-lo ao acampamento, empurrá-lo para o

163
00:11:41,260 --> 00:11:47,110
conjunto de comentários no acampamento e, em seguida, salvar o acampamento e depois imprimiremos novos comentários criados e você verá

164
00:11:48,010 --> 00:11:49,730
que temos um pequeno aviso Aqui.

165
00:11:49,750 --> 00:11:51,270
O comentário não está definido.

166
00:11:51,640 --> 00:11:55,670
Precisamos adicionar um comentário VAR.

167
00:11:55,990 --> 00:12:03,830
Os equivalentes exigem que os modelos inexistentes de barra de pontos críquem o comentário.

168
00:12:04,210 --> 00:12:06,160
E isso é o que eu quero dizer com o desenvolvimento orientado por erro.

169
00:12:06,160 --> 00:12:13,130
Se eu parasse o servidor e eu recomeço, recebo uma mensagem que me diz que não consigo encontrar modelos de módulos.

170
00:12:13,150 --> 00:12:17,650
Slash comentário no próximo vídeo, vamos nos concentrar em fazer esses erros desaparecerem.

171
00:12:17,650 --> 00:12:23,320
Então, o que fizemos é criar um arquivo de semente do plano que funciona do jeito que

172
00:12:23,320 --> 00:12:27,440
queremos que ele funcione, mas ainda não funciona e agora precisamos fazê-lo funcionar.
