3

我有一个项目,我需要对表字段使用国际化并提供 jsonapi。为此,我使用了Globalize GemJSON API Gem

这是一个名为 category 的简单模型的代码:

class Category < ActiveRecord::Base
  translates :name
  validates :name, presence: true, uniqueness: { scope: :special_type }
end

class CategoryResource < JSONAPI::Resource
  attributes :name, :special_type
end

当发出一个简单的请求时,/categories响应很好:

{
  "data": [
    {
      "id": "1",
      "type": "categories",
      "links": {
        "self": "http://localhost:3000/v1/categories/1"
      },
      "attributes": {
        "name": "test",
        "special-type": "1"
      }
   },
  ...
  ]
}

但是,当尝试使用 `/categories?sort=name' 按名称排序时,出现异常:

"PG::UndefinedColumn: 错误: 列 category.name 不存在\nLINE 1: SELECT \"categories\".* FROM \"categories\" ORDER BY \"categories...\n ^\n: SELECT \" categories\".* FROM \"categories\" ORDER BY \"categories\".\"name\" ASC"

因为该列name不在表中,categories而是在表中category_translations。我应该怎么做才能解决这个问题?

4

0 回答 0