gpt4 book ai didi

ruby-on-rails - Jbuilder在 Controller 中的基本用法

转载 作者:行者123 更新时间:2023-12-04 03:34:42 25 4
gpt4 key购买 nike

在 Rails (5.2) 应用程序中,我尝试使用 JBuilder 返回一些 JSON 作为响应。

我在我的 Gemfile 中添加了 JBuilder。

# Gemfile
...
gem 'jbuilder', '~> 2.5'
...

# Gemfile.lock
...
jbuilder (2.8.0)
...

根据 JBuilder 文档:

You can also extract attributes from array directly.

@people = People.all

json.array! @people, :id, :name

=> [ { "id": 1, "name": "David" }, { "id": 2, "name": "Jamie" } ]



现在,在我的 Controller 中,我添加了以下内容:
def index
respond_to do |format|
format.json { render json.array! User.all, :email, :full_name }
end
end

但我得到

NameError - undefined local variable or method `json' for UsersController:0x00007fe2f966f150 16:55:40 rails.1
| => Did you mean? JSON:



我在这里错过了什么吗?

最佳答案

您通常在扩展名为 .json.jbuilder 的 View 文件中使用 jbuilder

在您的 Controller 中:

def index 
@users = User.all
respond_to do |format|
format.json
end
end

在您的 app/views/users/index.json.jbuilder
json.array! @users, :email, :full_name

编辑:您也可以像这样从 Controller 执行此操作:
format.json { render json: Jbuilder.new { |json| json.array! User.all, :email, :full_name  }.target! }

关于ruby-on-rails - Jbuilder在 Controller 中的基本用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54088462/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com