制作CRUD应用程序,"创建"部分没有工作

时间:2018-03-27 04:42:21

标签: javascript node.js postgresql express pg-promise

嗯,就在今天下午。

我正在创建一个连接到newsapi的新闻聚合器,但其中一个更重要的功能是让用户能够提交自己的文章。

创建视图呈现,在框中插入信息并点击提交后,我显示空{} ---

更重要的是,信息不会添加到数据库中。

因为我之前确实让它工作了,所以我认为在导致问题后我在某个时候犯了一个错误。

有什么想法?我已经看了一个多小时了,我很难过。

server.js:

// CREATE get
app.get('/home/create', (request, response) => {
  response.render('create');
})

// CREATE 
app.post('/home/create', urlencodedParser, (request, response) => {
  const articleNew = request.body;
  Article.createArticle(articleNew).then(article => {
    response.redirect('/home');
  })
  .catch((error) => {
    response.send(error);
  })
});

News.js:

// require database setup to use pg-Promise
const pgp = require('pg-promise')({});

const Article = {};

const connectionURL = "postgres://localhost:5432/news_app";

// new database connection
const db = pgp(connectionURL);

Article.createArticle = article => {
  return db.any('INSERT INTO user_articles(name, author, title, description, url) VALUES($1, $2, $3, $4, $5, $6) RETURNING id', [article.name,  article.author,  article.title, article.description, article.url]);
};

module.exports = Article;

create.ejs

<form class="form-horizontal" action="/home/create" method="post">
  <fieldset>

<!-- Button -->
  <div class="form-group">
    <label class="col-md-4 control-label" for="submit"></label>
    <div class="col-md-4">
      <button id="submit" name="submit" class="btn btn-success">Submit</button>
    </div>
  </div>

表名:user_articles:

  

id BIGSERIAL PRIMARY KEY,

     

名称VARCHAR(255),

     

作者VARCHAR(255),

     

title VARCHAR(255),

     

description VARCHAR(255),

     

url VARCHAR(255)

     

);

0 个答案:

没有答案