ruby-on-rails - Rails API Globalize 获取所有翻译
问题描述
在使用 globalize 的仅 API 的 rails 应用程序中 - 如何返回模型的所有翻译?
IE。
[
{
"id": 1,
"name_ar": "كرستوفر نولان",
"name_en": "Christopher Nolan",
"name_fr": "Christopher Nolan"
},
{
"id": 2,
"name_ar": "ميشيل جوندري",
"name_en": "Michael Gondry",
"name_fr": "Michael Gondry"
},
// ...
]
我已经为此寻找了相当长的一段时间,但我未能找到解决方案。
解决方案
你可以做这样的事情:(不是一个完整的有效解决方案,但如果有帮助,请尝试一下)
# translated attribute names
attrs = %w[title description]
def translated_attributes(objects, attributes)
result = []
objects.each do |obj|
trans = {}
obj.translations.each do |tr|
trans['id'] = obj.id
attributes.each do |attr|
trans[attr + '_' + tr['locale']] = tr[attr]
end
end
result << trans
end
result
end
translated_attributes(objects, attrs)
请根据您的应用程序更改名称并相应地传递属性。
推荐阅读
- php - Laravel firstOrCreate 的关系不返回模型实例
- c# - AWS:从 lambda 连接到 Neptune
- c# - c# 一起添加文本框
- java - 为什么正则表达式不能正常工作?
- node.js - node js express 将 https 重定向到 https www
- python - Python字符串用字符替换并逐字母递增
- google-maps - 在 ThingsBoard.io 的自定义小部件中使用 google maps api
- graphql - 我的突变适用于 Amplify,但不适用于 Apollo。为什么?
- c# - 遍历列表并更新数据在数据库中找不到项目
- apache-spark - 使用 hadoopFile 获取文件名