3

我在Rails项目中使用Active Model Serializers Rails中控制器选项,并有一个user对象,需要从控制器传递到串行这样的:默认的序列渲染

# Note the 'user:' option that will be accessible inside 
# the serializer with @options[:user] 
def show 
render json: @some_object, user: current_user 
end 

def index 
render json: SomeObject.all, user: current_user 
end 

这是不够好我正在尝试做什么,但它不是非常干燥,并导致render陈述充满了选项。当这些选项发生变化时,我需要返回并在所有操作中手动删除/修改它们。

我的问题是:有没有办法在控制器级别设置render调用的默认选项列表,而不是手动将选项手动放置在每个控制器操作中?

回答

3

这可以通过添加这种方法来你的控制器来完成:

def default_serializer_options 
    {user: current_user} 
end 

您可以从串行内通过options[:user]

+0

然后访问这在0.10.x被_removed_(不推荐) – saywhatnow 2017-03-17 01:14:29