ruby-on-rails - Rails 仅将模型嵌套关联中的某些字段呈现为 json
问题描述
我正在构建一个 API,它有一个工作室(电影),一个工作室有电影,电影有角色,也有流派。我已经构建了所有模型,它们似乎按预期工作。现在我正在尝试在我的 MoviesController 中构建所有电影的 GET(索引),但我遇到了问题。
我的 MoviesController 如下:
class MoviesController < ApplicationController
def index
render json: Movie.all, only: [:title, :date_released, :score], include: [:studios, :characters]
end
end
这样我就可以将我所有的电影渲染为 json,并且我只获得字段标题、日期_发布和分数,并且还渲染相关字段 Studio 和 Characters。我的问题是工作室和角色完全渲染自己(id,name,created_at,updated_at)。我只想渲染 Studio 的名称和角色名称,而不是他们的 id 或创建日期。我未能将相同的“仅:[name:]”应用于工作室或角色。我怎样才能做到这一点?
感谢您的帮助。如果您对如何使我的代码更好有任何建议,请说出来。
解决方案
试试这个
render :json => Movie.all, only: [:title, :date_released, :score], include: {studios: {only: :name}, characters: {only: :name}}
推荐阅读
- javascript - 在 testcafe 的跨度内搜索跨度
- python - 如何将用户对列表的输入限制为指定的整数范围?
- vue.js - 如何将目录导入单个文件组件
- python - 如何不断检查是否按下了特定键
- flutter - 如何让这个页面交易对flutter产生影响
- python-3.x - 禁用按钮仍然可以调用
- r - 如何为 html 和 pdf 创建加权、带标签的汇总表?
- r - 对多列执行 dplyr group by stats,将结果表存储在列表中,并将列表组合为数据框
- typescript - 如何为 H1/H2/.. 标签应用站点范围的样式?
- c++ - c++验证做一个通用函数