ruby-on-rails - 无法从我的 Rails 服务器获得 json 响应
问题描述
我有一个 Rails 服务器,我正在尝试从 React 客户端发出获取请求。每次发表新评论时,我都想获得帖子的评论。
posts_controller.rb
# GET /post/1
# GET /post/1.json
def show
@post = Post.kept.friendly.find(params[:id])
@comments = @post.comments.kept.order(created_at: :desc)
end
我的反应组件
useEffect(() => {
fetch('/posts/post-title')
.then((res) => {
console.log("res", res);
})
.catch((err) => {
console.log("err", err);
});
}, []);
结果
res Response {type: "basic", url: "http://localhost:3000/posts/post-title", redirected: false, status: 200, ok: true, …}
我打开该响应,但我没有看到任何评论 json。我试过做res.json()
,但我得到了undefined
。
我做错了什么?
解决方案
将您的表演动作更改为此
def show
@post = Post.kept.friendly.find(params[:id])
@comments = @post.comments.kept.order(created_at: :desc)
render json: @comments
end
和你的 JS
useEffect(() => {
fetch('/posts/post-title')
.then(res => res.json())
.then((post) => {
console.log(post)
})
.catch((err) => {
console.log("err", err);
});
}, []);
推荐阅读
- python - .data 在 pytorch 中仍然有用吗?
- python - 气流 dagbag_import_timeout - 使用 subdag 吗?
- list - 是否可以使用 AMP 侧边栏创建多级导航?
- scala - 使用 scala /spark 创建蜂巢视图
- r - RStudio 要求证书
- perforce - 编辑工作区文件时可以防止 P4Merge 跳回文件顶部吗?
- javascript - 带有 Three.js 和 React.js 的 JSON 3D 元素
- dynamic - 将 vue js 代码注入 DIV 标签
- azure - 使用 Azure 应用程序洞察监控 IIS Web 应用程序
- qt - 为什么委托无法识别状态mouseOver?