向我的控制器添加一个操作,它将列表作为 JSON 返回
Posted
技术标签:
【中文标题】向我的控制器添加一个操作,它将列表作为 JSON 返回【英文标题】:Add an action to my controller that will return the list as JSON 【发布时间】:2021-12-07 03:17:08 【问题描述】:这里是初学者。我正在关注他们网站上的 Rails 教程,所以我刚刚创建了一个带有帖子和评论的基本应用程序。
我想在 ArticlesController 中创建一个以 JSON 格式返回文章列表的操作。你能帮帮我吗?
【问题讨论】:
如果您是初学者,最好的方法是您自己。互联网上充满了有用的资源来帮助您完成任务。依靠某人为你写这篇文章,不会让你走得太远。 ***.com/questions/20188047/… 应该让你开始。 请提供足够的代码,以便其他人更好地理解或重现问题。 【参考方案1】:你可以这样做:
# app/models/article.rb
class Article < ApplicationRecord
# if you want to specify which informations you want to share on your json
def as_json(option = nil)
super(only: %i[id name content])
end
end
# app/controllers/articles_controller.rb
class ArticlesController < ApplicationController
def index
@articles = Article.all
respond_to do |format|
format.json render json: @articles
end
end
end
您还可以查看jbuilder gem 以帮助您根据需要设置 json 格式。
【讨论】:
以上是关于向我的控制器添加一个操作,它将列表作为 JSON 返回的主要内容,如果未能解决你的问题,请参考以下文章
JSON.stringify 向我的 Json 对象添加额外的 \ 和 "" 的问题
使用JSON.stringify向我的Json对象添加一个额外的和“”