当前位置: 首页 > 面试题库 >

在Rails中,如何使用视图呈现JSON?

徐奇
2023-03-14
问题内容

假设您位于用户控制器中,并且想要获取显示请求的json响应,那么可以在您的views / users
/目录中创建一个名为show.json的文件,并在用户之后#show操作完成后,它将呈现文件。

当前,您需要执行以下操作:

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

但是,如果您可以创建一个show.json文件,它会像这样自动呈现,那就太好了:

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

这将为我节省大量的痛苦,并且会消除我在控制器中渲染json时得到的那种可怕的肮脏感觉


问题答案:

您应该可以在自己的代码respond_to块中执行以下操作:

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

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



 类似资料:
  • 问题内容: 到目前为止,我已经想通了如何返回Zend框架2.首先一个典型的JSON响应,我加入到了部分配置。然后,我返回一个设置了所有变量的实例,而不是从控制器操作中返回实例。 现在,我已经弄清楚了这一点,我需要了解如何呈现视图并在该JSON响应中返回它。在ZF1中,我能够使用,将HTML作为字符串返回。在ZF2中,该方法返回。 那么…如何呈现HTML视图脚本,并在一个请求中以JSON响应返回它?

  • 问题内容: 好的,很简单的问题,我正在使用一种AJAX方法,它的作用是通过查询在数据库中搜索特定信息。我可以在控制台中看到正在查询,甚至可以在Chrome开发者控制台中看到“发布”,当我单击它时,可以看到要显示的HTML,但是我不知道如何在页面中显示红外线。 :3000 /已经有我要显示的html,但是我该如何更新呢? 我展示的方式是这样的… @itemsok是我从查询保存项目的变量。 谢谢,我想

  • 我试图在我的jsp视图页面中包含一个部分视图。我怎么能那样做?我想将我的“addemployeeContacts.jsp”包含到“addemployee.jsp”页面中。addemployee.jsp null 和AddemPloyeeContacts.jsp AddemployeContactController 投掷错误 jasperException:java.lang.IllegalSta

  • 在yii中,我正在创建一个项目。 现在我想创建用于显示新密码插入窗口的小部件。要重置密码,用户需要正确输入安全问题的答案。在此之后,他将获得两个单选按钮。一个标签是“在此处更改密码”,另一个标签是“发送密码重置链接到邮件”。 所以当用户点击第一个单选按钮时,这个小部件将被渲染,它将有两个文本字段用于输入新密码和重复密码,以及提交按钮。那么如何实现这个小部件。 我创建了简单的小部件说你好: 所以,如

  • 问题内容: 如何在控制器的JsonResult中渲染要使用的局部视图? 问题答案: 是一种自定义扩展方法,将视图呈现为。 文章中没有提到它(您最初提到的是什么),但是您可以在文章附带的示例代码中找到它。可以在\ Helpers \ Reders.cs下找到它 这是有问题的方法的代码:

  • 是否可以禁用那些“无法呈现...”消息还是以任何方式允许它们?