向我的控制器添加一个操作,它将列表作为 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对象添加一个额外的和“”

如果我将它作为子视图添加到我的 UIPickerView,是不是需要向我的 UIToolBar 添加约束?

我应该如何从一个控制器操作返回两个对象列表?

向我的 WebAPI 添加了第二个控制器,但它不工作