我有一个项目,我需要对表字段使用internacionalization并提供jsonapi。 要完成此操作,我使用Globalize Gem和JSON 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:ERROR:列categories.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
上。我该怎么做才能解决这个问题?