我正在使用ActiveModel :: Serializers编写Rails API。我遵循JSON API规范,并希望在响应的顶级current_user
密钥中包含有关meta
的一些数据,以进行授权和身份验证。使用ActiveModel :: Serializers,顶级元信息的指定如下:
render json: @posts, meta: { 'current-user': @current_user }
但我想在所有 JSON响应中提供此信息。每次在每个控制器中调用render
时,定义此信息都会非常麻烦。
我有没有办法将meta:
选项传递给所有默认情况下我的控制器的渲染调用,比如我ApplicationController
中的某个地方?或者<? / p>
答案 0 :(得分:0)
创建一个def并附加到应用程序控制器中的before_action
这可能适合你
在应用程序控制器中创建此def
def append_user_to_json(data)
user = current_user.to_json
data = data.to_json
return data = data+user
end