如何使用 jbuilder 更改密钥的名称

How can I change the name of a key using jbuilder

我有一个 index.json.jbuilder 看起来像这样:

json.results do |result|
    json.array! @artists do |artist|
      json.extract! artist, :id, :name
    end
  end

这会产生以下 JSON 格式:

{"results": [{"id": 2, "name": "A-Austr"},{"id": 3,"name": "Abacus"}]}

我想将密钥 "name" 的名称更改为 "text"。有没有办法在 jbuilder 中做到这一点?我不想更改数据库中字段的名称,并且希望在收到数据后不必使用 JS 执行此操作。谢谢!!

json.extract! artist, :id, :name 本质上等同于:

json.id artist.id
json.name artist.name

对于您的用例,您可以将 json.name 替换为 json.text