我知道我可以调用render
使用 layout: 'my_layout'
的方法在 Controller 方法中更改布局。但是,我的一些 Controller 方法具有以下内容,因此我也可以轻松呈现 JSON:
respond_to do |format|
format.html
format.json { render json: @cars }
end
如何更改
format.html
的布局?我应该更换format.html
与 render layout: 'my_layout'
?有没有我可以传递给 format.html
的选项? ?
最佳答案
默认情况下,Rails 将使用 app/views/layouts/application.html.erb
作为布局。如果要使用其他布局,请创建 app/views/layouts/my-new-layout.html.erb
然后
在您的 Controller 方法中:
respond_to do |format|
format.html { render layout: 'my-new-layout' }
format.json { render json: @cars }
end
这是 Rails 指南中的相关部分:Layouts and Rendering: Options for Render
关于ruby-on-rails - Rails 中带有 respond_to 的 Controller 的不同布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21715810/