gpt4 book ai didi

ruby-on-rails - Json Jbuilder v/s 渲染 :json method

转载 作者:行者123 更新时间:2023-12-04 03:44:30 26 4
gpt4 key购买 nike

在尝试发送 json 响应时,使用 render 可能有哪些好处?方法结束 jbuilder 或相反亦然。
例如:render :json=> @boats v/s
在 index.json.jbuilder 中

json.array! @boats do |boat|   
json.boat_name boat.name
end
我尝试使用这两种方式,但找不到任何一种比另一种更显着的优势。原因可能是我的应用程序很小。所以我想知道在大规模应用程序中它们之间是否有任何区别。

最佳答案

Jbuilder 提供了用于生成 JSON 的 DSL。它包括一个模板引擎,允许您使用助手和条件创建复杂的响应。

示例

我们可以在不使用 JBuilder 的情况下通过添加 render 来添加它。

def show
@article = Article.find(params[:id])
render json: @article
end

当我们现在重新加载页面时,我们将看到文章的 JSON 表示。
{"author_id":1, title:"hello", etc}

enter image description here
如果你想自定义响应可以使用 as_json喜欢
   format.json { render json: @article.as_json(only: [:id, :name, :content], include: [:author, {comments: {only:[:id, :name, :content]}}]) }

Customizing The Response can use <code>as_json</code>

使用 JBuilder
这有效,但我们使用的代码不是很漂亮。我们可以在模型中覆盖 as_json ,但这不会更漂亮。
json.id @article.id
json.name @article.name

enter image description here

可以在 JBuilder 中使用任何自定义

感谢 railscasts可以阅读更多信息

关于ruby-on-rails - Json Jbuilder v/s 渲染 :json method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60428785/

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