假设我有一个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.rb
和render jsonapi: @data
并且控制器将自动使用该文件进行渲染。
有什么想法吗?
我最终创建了一个从ApplicationController继承的新类,并使用default_render方法:
def default_render
render jsonapi: @data
end