Rails全球化Gem + JSON资源宝石

时间:2017-07-05 09:30:15

标签: ruby-on-rails rails-i18n json-api globalize jsonapi-resources

我有一个项目,我需要对表字段使用internacionalization并提供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: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上。我该怎么做才能解决这个问题?

0 个答案:

没有答案