teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

12

書式変更

2021/04/06 12:02

投稿

lemona4e
lemona4e

スコア2

title CHANGED
@@ -1,1 +1,1 @@
1
- Node.jsでコンパイルエラーになってしまいます
1
+ Node.jsでブルが未定義になってしまいます
body CHANGED
@@ -1,4 +1,4 @@
1
- Node.jsで簡単なクローンアプリを作っています。コンパイルエラーの解決方法を教えていただきたいです。
1
+ Node.jsで簡単なクローンアプリを作っています。エラーになってしまうため、jobs未定義修正場所と方法を教えていただきたいです。
2
2
  ```
3
3
  ReferenceError: /Users/Desktop/Node.js/Recruit/views/top.ejs:70
4
4
  68| </div>
@@ -44,8 +44,8 @@
44
44
  1 row in set (0.00 sec)
45
45
 
46
46
  mysql>
47
- ```現状のソースコードです。
47
+ ```(追記1)現状のソースコードです。
48
- (追記)修正済みです。回答欄で流れを確認できます。
48
+ (追記2)修正済みです。回答欄で流れを確認できます。
49
49
  ```js
50
50
  const express = require('express');
51
51
  const mysql = require('mysql');

11

追記

2021/04/06 12:02

投稿

lemona4e
lemona4e

スコア2

title CHANGED
File without changes
body CHANGED
@@ -45,6 +45,7 @@
45
45
 
46
46
  mysql>
47
47
  ```現状のソースコードです。
48
+ (追記)修正済みです。回答欄で流れを確認できます。
48
49
  ```js
49
50
  const express = require('express');
50
51
  const mysql = require('mysql');

10

文法の修正

2021/04/06 11:39

投稿

lemona4e
lemona4e

スコア2

title CHANGED
File without changes
body CHANGED
@@ -106,7 +106,7 @@
106
106
  <li class="job"><div class="job-title"><%= job.title %></div>
107
107
  <p><img src="/images/list3.jpeg" alt="3"></p>
108
108
  <p><%= job.point %></p>
109
- <button><a href="/job/<%= job.id %>">詳細を見る</a></button>
109
+ <button><a href="/content/<%= job.id %>">詳細を見る</a></button>
110
110
  </li>
111
111
  <% )} %>
112
112
  </ul>

9

書式変更

2021/04/06 11:22

投稿

lemona4e
lemona4e

スコア2

title CHANGED
File without changes
body CHANGED
@@ -90,6 +90,12 @@
90
90
  ```ejs
91
91
  <!DOCTYPE html>
92
92
  <html>
93
+ <head>
94
+ <meta charset="utf-8">
95
+ <title>Recruit</title>
96
+ <link rel="stylesheet" href="/css/style.css">
97
+ <script src="/send_url.js"></script>
98
+ </head>
93
99
  <body>
94
100
  <header>
95
101
  <li><a href="/job">求人</a></li>
@@ -105,4 +111,7 @@
105
111
  <% )} %>
106
112
  </ul>
107
113
  </main>
114
+ <%- include('footer'); %>
115
+ </body>
116
+ </html>
108
117
  ```よろしくお願いします。

8

誤字

2021/04/06 11:09

投稿

lemona4e
lemona4e

スコア2

title CHANGED
File without changes
body CHANGED
@@ -19,7 +19,7 @@
19
19
  at ServerResponse.render (/Users/Desktop/Node.js/Recruit/node_modules/express/lib/response.js:1012:7)
20
20
  at /Users/Desktop/Node.js/Recruit/app.js:8:7
21
21
  at Layer.handle [as handle_request] (/Users/Desktop/Node.js/Recruit/node_modules/express/lib/router/layer.js:95:5)
22
- ```データベース以下のように値を入れました。
22
+ ```データベース以下のように値を入れました。
23
23
  ```
24
24
  mysql> DESCRIBE jobs;
25
25
  +----------+--------------+------+-----+---------+----------------+

7

文法の修正

2021/04/06 11:03

投稿

lemona4e
lemona4e

スコア2

title CHANGED
File without changes
body CHANGED
@@ -45,7 +45,7 @@
45
45
 
46
46
  mysql>
47
47
  ```現状のソースコードです。
48
- ```appjs
48
+ ```js
49
49
  const express = require('express');
50
50
  const mysql = require('mysql');
51
51
 
@@ -65,29 +65,35 @@
65
65
  res.render('top.ejs');
66
66
  });
67
67
 
68
- app.get('/job/:id', (req, res) => {
68
+ app.get('/job', (req, res) => {
69
- const id = req.params.id;
70
- connection.query(
69
+ connection.query(
71
- 'SELECT * FROM jobs WHERE id = ?',
70
+ 'SELECT * FROM jobs',
72
- [id],
73
- (error, results) => {
71
+ (error, results) => {
74
- res.render('job.ejs', { job: results[0] });
72
+ res.render('job.ejs', { jobs: results });
75
- }
73
+ }
76
- );
74
+ );
77
- });
75
+ });
78
76
 
77
+ app.get('/content/:id', (req, res) => {
78
+ const id = req.params.id;
79
+ connection.query(
80
+ 'SELECT * FROM jobs WHERE id = ?',
81
+ [id],
82
+ (error, results) => {
83
+ res.render('content.ejs', { job: results[0] });
84
+ }
85
+ );
86
+ });
87
+
79
- app.listen(4003);
88
+ app.listen(4090);
80
89
  ```
81
- ```topejs
90
+ ```ejs
82
91
  <!DOCTYPE html>
83
92
  <html>
84
- <head>
85
- <meta charset="utf-8">
86
- <title>Recruit</title>
87
- <link rel="stylesheet" href="/css/style.css">
88
- <script src="/send_url.js"></script>
89
- </head>
90
93
  <body>
94
+ <header>
95
+ <li><a href="/job">求人</a></li>
96
+ </header>
91
97
  <main>
92
98
  <ul>
93
99
  <% jobs.forEach((job) => { %>
@@ -96,23 +102,7 @@
96
102
  <p><%= job.point %></p>
97
103
  <button><a href="/job/<%= job.id %>">詳細を見る</a></button>
98
104
  </li>
105
+ <% )} %>
99
106
  </ul>
100
107
  </main>
101
- ```
102
- ```jobejs
103
- <!DOCTYPE html>
104
- <html>
105
- <head>
106
- <meta charset="utf-8">
107
- <title>Recruit</title>
108
- <link rel="stylesheet" href="/css/style.css">
109
- <script src="/send_url.js"></script>
110
- </head>
111
- <body>
112
- <main>
113
- <div class="job">
114
- <h1><%= job.title %></h1>
115
- <p><%= job.contents %></p>
116
- </div>
117
- </main>
118
108
  ```よろしくお願いします。

6

文法の修正

2021/04/06 11:02

投稿

lemona4e
lemona4e

スコア2

title CHANGED
File without changes
body CHANGED
@@ -65,15 +65,6 @@
65
65
  res.render('top.ejs');
66
66
  });
67
67
 
68
- app.get('/job', (req, res) => {
69
- connection.query(
70
- 'SELECT * FROM jobs',
71
- (error, results) => {
72
- res.render('job.ejs', { jobs: results });
73
- }
74
- );
75
- });
76
-
77
68
  app.get('/job/:id', (req, res) => {
78
69
  const id = req.params.id;
79
70
  connection.query(

5

書式変更

2021/04/05 13:03

投稿

lemona4e
lemona4e

スコア2

title CHANGED
File without changes
body CHANGED
@@ -19,6 +19,31 @@
19
19
  at ServerResponse.render (/Users/Desktop/Node.js/Recruit/node_modules/express/lib/response.js:1012:7)
20
20
  at /Users/Desktop/Node.js/Recruit/app.js:8:7
21
21
  at Layer.handle [as handle_request] (/Users/Desktop/Node.js/Recruit/node_modules/express/lib/router/layer.js:95:5)
22
+ ```データベースに以下のように値を入れました。
23
+ ```
24
+ mysql> DESCRIBE jobs;
25
+ +----------+--------------+------+-----+---------+----------------+
26
+ | Field | Type | Null | Key | Default | Extra |
27
+ +----------+--------------+------+-----+---------+----------------+
28
+ | id | int(11) | NO | PRI | NULL | auto_increment |
29
+ | title | char(70) | YES | | NULL | |
30
+ | point | varchar(50) | YES | | NULL | |
31
+ | contents | varchar(500) | YES | | NULL | |
32
+ +----------+--------------+------+-----+---------+----------------+
33
+ 4 rows in set (0.02 sec)
34
+
35
+ mysql> INSERT INTO jobs(title, point, contents) VALUES('タイトル', 'ポイント', '募集しています');
36
+ Query OK, 1 row affected (0.02 sec)
37
+
38
+ mysql> SELECT * FROM jobs;
39
+ +----+--------------+--------------+-----------------------+
40
+ | id | title | point | contents |
41
+ +----+--------------+--------------+-----------------------+
42
+ | 1 | タイトル | ポイント | 募集しています |
43
+ +----+--------------+--------------+-----------------------+
44
+ 1 row in set (0.00 sec)
45
+
46
+ mysql>
22
47
  ```現状のソースコードです。
23
48
  ```appjs
24
49
  const express = require('express');

4

文法の修正

2021/04/05 11:46

投稿

lemona4e
lemona4e

スコア2

title CHANGED
File without changes
body CHANGED
@@ -40,11 +40,11 @@
40
40
  res.render('top.ejs');
41
41
  });
42
42
 
43
- app.get('/top', (req, res) => {
43
+ app.get('/job', (req, res) => {
44
44
  connection.query(
45
45
  'SELECT * FROM jobs',
46
46
  (error, results) => {
47
- res.render('top.ejs', { jobs: results });
47
+ res.render('job.ejs', { jobs: results });
48
48
  }
49
49
  );
50
50
  });

3

書式の改善

2021/04/05 08:05

投稿

lemona4e
lemona4e

スコア2

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,5 @@
1
1
  Node.jsで簡単なクローンアプリを作っています。コンパイルエラーの解決方法を教えていただきたいです。
2
- ```ここに言語を入力
2
+ ```
3
3
  ReferenceError: /Users/Desktop/Node.js/Recruit/views/top.ejs:70
4
4
  68| </div>
5
5
  69| </li>
@@ -19,24 +19,84 @@
19
19
  at ServerResponse.render (/Users/Desktop/Node.js/Recruit/node_modules/express/lib/response.js:1012:7)
20
20
  at /Users/Desktop/Node.js/Recruit/app.js:8:7
21
21
  at Layer.handle [as handle_request] (/Users/Desktop/Node.js/Recruit/node_modules/express/lib/router/layer.js:95:5)
22
- ```現状はデタベースで以下のように値を入れています。
22
+ ```現状のソースコードです。
23
+ ```appjs
24
+ const express = require('express');
25
+ const mysql = require('mysql');
26
+
27
+ const app = express();
28
+
29
+ app.use(express.static('public'));
30
+ app.use(express.urlencoded({extended: false}));
31
+
32
+ const connection = mysql.createConnection({
33
+ host: 'localhost',
34
+ user: 'root',
35
+ password: '',
36
+ database: 'Recruit'
37
+ });
38
+
39
+ app.get('/', (req, res) => {
40
+ res.render('top.ejs');
41
+ });
42
+
43
+ app.get('/top', (req, res) => {
44
+ connection.query(
45
+ 'SELECT * FROM jobs',
46
+ (error, results) => {
47
+ res.render('top.ejs', { jobs: results });
48
+ }
49
+ );
50
+ });
51
+
52
+ app.get('/job/:id', (req, res) => {
53
+ const id = req.params.id;
54
+ connection.query(
55
+ 'SELECT * FROM jobs WHERE id = ?',
56
+ [id],
57
+ (error, results) => {
58
+ res.render('job.ejs', { job: results[0] });
59
+ }
60
+ );
61
+ });
62
+
63
+ app.listen(4003);
23
64
  ```
65
+ ```topejs
24
- mysql> DESCRIBE jobs;
66
+ <!DOCTYPE html>
67
+ <html>
68
+ <head>
69
+ <meta charset="utf-8">
70
+ <title>Recruit</title>
25
- +----------+--------------+------+-----+---------+----------------+
71
+ <link rel="stylesheet" href="/css/style.css">
26
- | Field | Type | Null | Key | Default | Extra |
72
+ <script src="/send_url.js"></script>
27
- +----------+--------------+------+-----+---------+----------------+
28
- | id | int(11) | NO | PRI | NULL | auto_increment |
73
+ </head>
74
+ <body>
29
- | title | char(70) | YES | | NULL | |
75
+ <main>
30
- | point | varchar(50) | YES | | NULL | |
76
+ <ul>
31
- | contents | varchar(500) | YES | | NULL | |
32
- +----------+--------------+------+-----+---------+----------------+
33
- 4 rows in set (0.02 sec)
77
+ <% jobs.forEach((job) => { %>
34
-
78
+ <li class="job"><div class="job-title"><%= job.title %></div>
79
+ <p><img src="/images/list3.jpeg" alt="3"></p>
80
+ <p><%= job.point %></p>
81
+ <button><a href="/job/<%= job.id %>">詳細を見る</a></button>
82
+ </li>
83
+ </ul>
84
+ </main>
85
+ ```
86
+ ```jobejs
35
- mysql> SELECT * FROM jobs;
87
+ <!DOCTYPE html>
88
+ <html>
89
+ <head>
90
+ <meta charset="utf-8">
91
+ <title>Recruit</title>
92
+ <link rel="stylesheet" href="/css/style.css">
36
- +----+--------------+--------------+-----------------------+
93
+ <script src="/send_url.js"></script>
94
+ </head>
95
+ <body>
96
+ <main>
97
+ <div class="job">
98
+ <h1><%= job.title %></h1>
37
- | id | title | point | contents |
99
+ <p><%= job.contents %></p>
38
- +----+--------------+--------------+-----------------------+
39
- | 1 | タイトル | ポイント | 募集しています |
100
+ </div>
40
- +----+--------------+--------------+-----------------------+
41
- 1 row in set (0.00 sec)
101
+ </main>
42
102
  ```よろしくお願いします。

2

文法の修正

2021/04/05 05:50

投稿

lemona4e
lemona4e

スコア2

title CHANGED
@@ -1,1 +1,1 @@
1
- 定義の仕方が分からず、コンパイルエラーになってしまいます
1
+ Node.jsでコンパイルエラーになってしまいます
body CHANGED
File without changes

1

誤字

2021/04/05 04:38

投稿

lemona4e
lemona4e

スコア2

title CHANGED
@@ -1,1 +1,1 @@
1
- 定義の仕方が分からず、コンイルエラーになってしまいます
1
+ 定義の仕方が分からず、コンイルエラーになってしまいます
body CHANGED
@@ -1,4 +1,4 @@
1
- Node.jsで簡単なクローンアプリを作っています。コンイルエラーの解決方法を教えていただきたいです。
1
+ Node.jsで簡単なクローンアプリを作っています。コンイルエラーの解決方法を教えていただきたいです。
2
2
  ```ここに言語を入力
3
3
  ReferenceError: /Users/Desktop/Node.js/Recruit/views/top.ejs:70
4
4
  68| </div>