[英]Ruby On Rails: Netflix fast_jsonapi not render it defined attributes
[英]Pass current_user and links together in fast_jsonapi, in rails
Rails 版本:6.0.0 Ruby 版本:2.6.3
render json: AreaSerializer.new(
Area.all, paginate(pagy), params: { current_user: current_user }
), status: ok
attributes :nodes do |area, params|
...
end
錯誤:
ArgumentError (wrong number of arguments (given 3, expected 1..2)):
我嘗試了另一種方法,它起作用了,
在控制器中
areas = Area.all
options = {
links: paginate(pagy),
params: { current_user: @current_user }
}
render json: AreaSerializer.new(areas, options),
status: ok
在序列化器中
attributes :nodes do |area, params|
area.users.where.not(id: params[:current_user].id)
end
而鏈接鍵是在 Serializer 中自動呈現。
{
data: [
{},
{} // areas hash
],
links: {
first: "",
last: "",
}
}
使用這樣的東西:
render json: AreaSerializer.new(
Area.all,
{ params: { paginate: paginate(pagy), current_user: @current_user } }
), status: ok
序列化器
attributes :nodes do |area, params|
...
params[:current_user]
params[:paginate]
...
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.