如何在 Rails 中控制器的一个操作中呈现不同的布局和 json 数据?

Posted

技术标签:

【中文标题】如何在 Rails 中控制器的一个操作中呈现不同的布局和 json 数据?【英文标题】:how to render different layout & json data in one action of conroller in rails? 【发布时间】:2014-07-24 16:52:25 【问题描述】:

我是 Rails 新手。

我想渲染布局(.html.erb 文件)以及来自控制器操作的 json 数据。 我该如何执行?

我可以一次性渲染它们吗?怎么样?

【问题讨论】:

【参考方案1】:

这正是respond_to 的用途。来自Rails Action Controller guide:

class UsersController < ApplicationController
  def index
    @users = User.all
    respond_to do |format|
      format.html # index.html.erb
      format.xml   render xml: @users
      format.json  render json: @users
    end
  end
end

【讨论】:

在我的应用程序中,有一个视图通过单击文本框中的按钮数据通过 json 传递给控制器​​的操作。在同一个控制器中,我想使用其他操作在另一个视图文件(.html.erb)上显示匹配的结果。我怎样才能做到这一点?谢谢。

以上是关于如何在 Rails 中控制器的一个操作中呈现不同的布局和 json 数据?的主要内容,如果未能解决你的问题,请参考以下文章

我可以在rails中的单个页面中呈现两个不同的控制器操作

iOS开发中控制器切换方式Modal

Rails 在控制器动作中形成,在另一个视图中呈现?

Rails 3在另一个控制器中呈现部分形式

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

从 MVC 中控制器中的不同方法向视图发送消息