Rails中返回带html fragment的json数据

本文介绍在Rails应用中如何返回包含HTML片段的JSON数据。通过两种方法实现:一是使用render_to_string方法,二是通过模板渲染。此外还介绍了如何为JSON数据设置布局。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有些时候,我们需要返回带html片段的JSON数据,这个在rails中,可以通过如下两种方式:

方法一

def show
render json: {
status: 'ok',
html: render_to_string(partial: "/path/to/partial", locals: {})
}
end

render_to_string是Rails内建的方法,render方法是基于这个方法的,下图是Rails 的render stack

方法二

render json template

def show    
end

# show.json.erb

{
  metadata: <%= metadata%>,
  status: 'ok',
  html: <%= render partial: 'partial_name' %>
}

同时Rails 返回JSON数据也是支持Layout的

app/views/layout/application.json.erb:

{
  metadata: <%= metadata%>,
  status: 'ok',
  html: <%= yield %>
}

转载于:https://www.cnblogs.com/kamechen/archive/2012/06/29/2569621.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值