代码之家  ›  专栏  ›  技术社区  ›  Chen Kinnrot

jbuilder视图使用布局呈现

  •  1
  • Chen Kinnrot  · 技术社区  · 7 年前

    我有一个控制器,有时呈现HTML,有时呈现JSON。

    对于json,我使用jbuilder视图。

    有一个默认的html布局,出于某种未知的原因,它也开始为json视图呈现。

    我找到了两个解决问题的方法

    1. 添加 layout:false 使用json视图的render调用
    2. 将render partial改为常规render。

    我只是想知道(因为它几天前没有呈现布局) 有没有办法告诉rails只呈现html请求格式的布局?

    2 回复  |  直到 7 年前
        1
  •  2
  •   Chen Kinnrot    7 年前

    显然,如果布局文件名没有.html,那么它将用于所有请求类型。我的布局文件是x.erb将其更改为x.html.erb解决了这个问题。

        2
  •  0
  •   Afsanefda    7 年前

    看看这个:

    respond_to do |format|
       format.html { render 'something.html.erb'}
       format.json { render json: @next_level.to_json ,layout: false}
    end
    
    推荐文章