【发布时间】:2020-05-31 11:30:07
【问题描述】:
在使用 globalize 的纯 API rails 应用程序中 - 如何返回模型的所有翻译?
即。
[
{
"id": 1,
"name_ar": "كرستوفر نولان",
"name_en": "Christopher Nolan",
"name_fr": "Christopher Nolan"
},
{
"id": 2,
"name_ar": "ميشيل جوندري",
"name_en": "Michael Gondry",
"name_fr": "Michael Gondry"
},
// ...
]
我已经为此寻找了很长一段时间,但我没有找到解决方案。
【问题讨论】:
-
这样做可能会对您有所帮助:
object.translations.pluck(:locale, :title).to_h -
您能否提供一个更具描述性的示例?我在哪里做这个?
-
我不确定您使用的数据结构,但我希望您的模型上有一个
translations关联,object.translations应该返回您该对象的所有翻译。因此,执行上述操作将为您提供类似这样的哈希:{ "ar" => "ولان", "en" => "Christopher" },您可以先在 Rails 控制台上尝试,看看它是否符合您的要求,然后将其应用到您返回数据的控制器上。 -
如您所描述的那样有效。事情是我想以某种方式自动化这个过程。我的模型可能有 5-6 个可翻译的属性,我想这样获得它们:
[property_name]_[locale]
标签: ruby-on-rails rails-api globalize