Rails:自定义渲染



假设我有一个ProductsController,它使用index方法:

def index
@products = Product.all
end

默认情况下,Rails将呈现一个视图文件(views/products/index.json.jbuilder(

如果我想以这种方式呈现它呢:

render jsonapi: @data

对于每种方法,我都需要指定render jsonapi: @data,如下所示:

def index
@data = Product.all
render jsonapi: @data
end

有没有办法避免重复这种情况?

我想创建一个文件,如jsonapi_rendering.rbrender jsonapi: @data并且控制器将自动使用该文件进行渲染。

有什么想法吗?

我最终创建了一个从ApplicationController继承的新类,并使用default_render方法:

def default_render
render jsonapi: @data
end

最新更新