假设你在你的用户控制器中,你想得到一个json响应来显示请求,如果你能在views/users/dir中创建一个名为show的文件就好了.json并在用户#show action完成后呈现文件.

目前,你需要做以下几点:

def show
  @user = User.find( params[:id] )
  respond_to do |format|
    format.html
    format.json{
      render :json => @user.to_json
    }
  end
end

但如果你能创造一个节目就好了.json文件,自动呈现如下:

def show
  @user = User.find( params[:id] )
  respond_to do |format|
    format.html
    format.json
  end
end

这会让我省go 很多悲伤,也会洗go 我在控制器中呈现json时那种可怕的肮脏感觉

推荐答案

在你的respond_to街区,你应该可以做这样的事情:

respond_to do |format|
    format.json 
    render :partial => "users/show.json"
end

这将在app/views/users/_show.json.erb中呈现模板.

Json相关问答推荐

将json数组反序列化为选项 struct

Vega-Lite时钟(使用Vega-Lite中的计时器)

从Json响应中为需要每个值的Post请求提取多个值

SWIFT中的网络经理

Vega Lite中的图例对齐

通过在织女星简化图上裁剪来显示文本

将PostgreSQL转换为JSON对象

PostgreSQL:删除 JSONB 数组中每个元素的特定键

将 json 转换为 jsonb 安全吗?

取消嵌套数组并将数组名称添加为附加字段

PowerShell:如何将哈希表输出为 json 并使用 foreach 循环将其存储在变量中?

错误字符串的长度超过了maxJsonLength属性设置的值

为什么在测试 RSPEC 时 JBuilder 不返回 JSON 中的响应正文

如何使用 Newtonsoft.Json 反序列化 JSON 数组

在 C# 中解析 Json rest api 响应

对象序列化为 JSON(使用 Gson).如何在 UpperCamelCase 中设置字段名称?

错误未判断调用put(K, V)作为原始类型java.util.HashMap的成员

有什么方法可以在 elasticsearch 服务器中导入 json 文件(包含 100 个文档).?

如何将有向无环图 (DAG) 存储为 JSON?

AJAX 将 JavaScript 字符串数组发布到 JsonResult 作为 List 总是返回 Null?