我知道我可以使用render
调用layout: 'my_layout'
方法来更改控制器方法中的布局。但是,我的一些控制器方法具有以下内容,因此我也可以轻松地呈现JSON:
respond_to do |format|
format.html
format.json { render json: @cars }
end
如何更改format.html
的布局?我应该用format.html
替换render layout: 'my_layout'
吗?我可以选择传递给format.html
吗?
答案 0 :(得分:10)
默认情况下,Rails将使用app/views/layouts/application.html.erb
作为布局。如果您想使用其他布局,请创建app/views/layouts/my-new-layout.html.erb
然后
在您的控制器方法中:
respond_to do |format|
format.html { render layout: 'my-new-layout' }
format.json { render json: @cars }
end
以下是Rails指南中的相关部分:Layouts and Rendering: Options for Render