쌤 안녕하세요 어제에 이어서 질문 드릴께요 ㅠㅠ
해결된 질문
234
0
https://github.com/wjdwndtlr/react-site
어제 content 모델에 기본값이 없다는 에러로 마이그레이션과 씨름한 학생입니다.
그 결과, 게시글 (제목, 내용)을 작성하면 잘 post됩니다. 페이로드에 title와 content 각각 잘들어가는거 확인되구요
근데 mysql워크벤처에 들어가면 title만 있고 content는 비어있습니다.
콘솔로그찍어봐도 로그에 타이틀만 기록되구요. 혼자 해결해보려고 계속 씨름해봤는데 도저히 안되서 도움 요청합니다.
- boack=> routes => post.js
const express = require("express");
const db = require("../models");
const router = express.Router();
router.post("/", async (req, res, next) => {
try {
const newPost = await db.Post.create({
title: req.body.title,
content: req.body.content,
UserId: req.user.id
});
// const fullPost = await db.Post.findOne({
// where: { id: newPost.id },
// include: [
// {
// model: db.User
// }
// ]
// });
// console.log("newPost:", newPost);
// console.log("fullPost:", fullPost);
return res.json(newPost);
} catch (e) {
console.error(e);
next(e);
}
});
router.post("/images", (req, res) => {});
router.get("/:id/comments", async (req, res, next) => {});
module.exports = router;
- front=> sagas=> post.js
import { all, fork, takeLatest, put, delay, call } from "redux-saga/effects";
import axios from "axios";
import {
ADD_POST_FAILURE,
ADD_POST_REQUEST,
ADD_POST_SUCCESS,
ADD_COMMENT_FAILURE,
ADD_COMMENT_REQUEST,
ADD_COMMENT_SUCCESS,
LOAD_MAIN_POSTS_FAILURE,
LOAD_MAIN_POSTS_REQUEST,
LOAD_MAIN_POSTS_SUCCESS,
LOAD_HASHTAG_POSTS_REQUEST,
LOAD_HASHTAG_POSTS_SUCCESS,
LOAD_HASHTAG_POSTS_FAILURE,
LOAD_USER_POSTS_SUCCESS,
LOAD_USER_POSTS_FAILURE,
LOAD_USER_POSTS_REQUEST,
LOAD_COMMENTS_SUCCESS,
LOAD_COMMENTS_FAILURE,
LOAD_COMMENTS_REQUEST
} from "../reducers/post";
function addPostAPI(postData) {
return axios.post("/post", postData, {
withCredentials: true
});
}
function* addPost(action) {
try {
const result = yield call(addPostAPI, action.data);
yield put({
type: ADD_POST_SUCCESS,
data: result.data
});
} catch (e) {
yield put({
type: ADD_POST_FAILURE,
error: e
});
}
}
function* watchAddPost() {
yield takeLatest(ADD_POST_REQUEST, addPost);
}
export default function* postSaga() {
yield all([fork(watchAddPost)]);
}
- reducers -> post.js
export default (state = initialState, action) => {
switch (action.type) {
case ADD_POST_REQUEST: {
return {
...state,
isAddingPost: true,
addPostErrorReason: "",
postAdded: false
};
}
case ADD_POST_SUCCESS: {
return {
...state,
isAddingPost: false,
mainPosts: [action.data, ...state.mainPosts],
postAdded: true
};
}
case ADD_POST_FAILURE: {
return {
...state,
isAddingPost: false,
addPostErrorReason: action.error
};
}
default: {
return {
...state
};
}
}
};
답변 5
1
router에서 req.body.content 찍어보셨나요?
0
안녕하세요. 잘 해결되었습니다. models.post 파일이 원인이였네요 중괄호를 {} 제가 잘못쳤던거였어요.
데이터를 추가하는 중괄호와 ( 타이틀, 내용) charset.같이 옵션을 넣는부분을 같이 묶으면 안됬던거였군요!!
휴~!
0
앗 네 ! 마침 댓글달려던참입니다.
back=> routes => post.js 에서
console.log(req.body.content);
하면 작성한content는 콘솔에 잘 찍힙니다! 흠.. 이러면 좁혀지는거같은데 한참 부족해서 그래도 감이 잘안잡히네요..
0
module.exports = (sequelize, DataTypes) => {
const Post = sequelize.define(
"Post", // 테이블명은 posts
{
title: {
type: DataTypes.STRING(20),
allowNull: true,
defaultValue: ""
}
},
{
views: {
type: DataTypes.INTEGER,
allowNull: false
}
},
{
content: {
type: DataTypes.TEXT, // 매우 긴 글
allowNull: true,
defaultValue: ""
}
},
{
charset: "utf8mb4", // 한글+이모티콘
collate: "utf8mb4_general_ci"
}
);
Post.associate = db => {
db.Post.belongsTo(db.User); // 테이블에 UserId 컬럼이 생겨요
db.Post.hasMany(db.Comment);
db.Post.hasMany(db.Image);
db.Post.belongsToMany(db.User, { through: "Like", as: "Likers" });
};
return Post;
};
이렇게 되있습니다.
next 10 이상에서는 redux dev tool 구동이 안되나요?
세션 갱신 문의 건
배포 진행 후 Highlight updates components render 표시
똑같은 기능을 하는 테이블
관계형
프론트 서버를 이용하지 않는경우
인피니트 스크롤링 사용시 오류
계속 이런에러가 떠서 해결하기는 했는데 어떤 의미인지 모르겠습니다.
req.user가 언제 생성되나요??
Cannot read property 'id' of null 에러
리트윗한 게시글 불러오는 sequelize
result.data에서 images인 이유
takeLatest에 대한 질문입니다.
프론트에서 express를 사용하지 않을때 동적라우팅
getInitialProps가 클라이언트에서 수행되는 이유?
리로드하면 팔로우 언팔로우 값이 초기화 되는 문제입니다.
스타일드 컴포넌트와 className을 통한 스타일 적용의 차이에 대해 궁금합니다
할인 쿠폰 사용이 안되는되요 (848-f9af83f183e3)
nodejs mvc 패턴
사용하고 보니, 람다 구성이 궁금합니다!
제로초님
새로고침 로그인 풀림 문제.
안녕하세요. 강의 너무 감사합니다
제로초님