RubyonRails | format.html/json的用途是什么?

RubyonRails | format.html/json的用途是什么?,html,ruby-on-rails,json,Html,Ruby On Rails,Json,因此,我一直在研究Rails僵尸,并开始解释format.html和.json 我的问题是这些代码行是做什么的,为什么我们有它们?如果我在没有这些格式代码的情况下编写这些方法或操作,它们工作得非常好,就像我假设它们默认以html格式显示一样?如果有人能弄清楚这段代码到底是做什么的,我将不胜感激,我也不完全理解JSON是什么 def create @zombie = Zombie.new(zombie_params) respond_to do |format| if

因此,我一直在研究Rails僵尸,并开始解释format.html和.json 我的问题是这些代码行是做什么的,为什么我们有它们?如果我在没有这些格式代码的情况下编写这些方法或操作,它们工作得非常好,就像我假设它们默认以html格式显示一样?如果有人能弄清楚这段代码到底是做什么的,我将不胜感激,我也不完全理解JSON是什么

def create
    @zombie = Zombie.new(zombie_params)

    respond_to do |format|
      if @zombie.save
        format.html { redirect_to @zombie, notice: 'Zombie was successfully created.' }
        format.json { render :show, status: :created, location: @zombie }
      else
        format.html { render :new }
        format.json { render json: @zombie.errors, status: :unprocessable_entity }
      end
    end
简单来说:

如果请求需要一个HTML页面,它将执行
format.HTML
中给定的块设置的指令

如果请求需要
application/json
(如发出Ajax请求时),响应将按照
format.json
中的说明给出


在深入创建任何web服务之前,您应该知道JSON的含义。请参见

实际上,对于Ajax请求,您将使用
format.js
format.json
更适合于API。那么,我什么时候会使用json?为什么?json是目前从web服务提供数据的首选方式。过去人们喜欢使用XML。但现在JSON已经接管了。在全力投入web开发之前,您应该首先真正了解它。另外,请阅读SOA,面向服务的体系结构。一个为json服务的假API示例:尝试它们的端点,例如@nbkhope非常感谢这为我澄清了很多!