ruby-on-rails - 在 rails 中的 fast_jsonapi 中将 current_user 和链接一起传递
问题描述
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
并且链接键在序列化程序中自动呈现。
前端收到的示例输出:
{
data: [
{},
{} // areas hash
],
links: {
first: "",
last: "",
}
}
推荐阅读
- java - 如何在 CDI 环境中模拟现有端点?
- c# - 无法从 excel 列中读取字符串值
- python - 为什么 Python 假定未声明类型的变量是数组?
- javascript - 如何在Angular templateurl中添加变量
- angular - Angular 侧边菜单的架构是什么?
- elasticsearch - 从 cmd 启动 elasticsearch.bat 时无法创建临时密钥库错误
- pandas - Groupby 总和、计数和模式
- powerbi - PowerBI 在 CALCULATETABLE 上保留上下文/过滤器
- c++11 - std::cout 的奇怪行为不打印数字
- node.js - 从 NodeJS 中的快速浏览器应用程序向电子应用程序发送流