0

このjsonapi-resources gem の使用方法を理解しようとしていますが、非常に難しいと感じています。

次のようなオブジェクトを送信したとしましょう。

{"name":"My product","price":"15.00"}

しかし、データベースに保存したいのは次のようなものです:

{"name":"My Product","price":"15.00","slug":"my-product","series":301234351}

つまり、作成または更新を傍受し、送信されるデータを追加または変更したいと考えています。

私の特定のケースでは、次のような「カテゴリ」モデルを取得しました。

コントローラ

class CategoriesController < ApplicationController
  #before_action :doorkeeper_authorize!
end

モデル

class Category < ActiveRecord::Base
  has_many :posts
end

リソース

class CategoryResource < JSONAPI::Resource
  attribute :name #,:slug
  has_many :posts
end

ルート

jsonapi_resources :categories

たとえば、slug、short-name、last_update を Category モデルに追加するにはどうすればよいですか (クライアントから渡されなかったと仮定して)。

4

2 に答える 2

1

データベースにスラッグ列があることを願っています。

class Category < ActiveRecord::Base
  has_many :posts

  before_save do
    self.slug = name.gsub(' ', '-').downcase
  end
end
于 2016-05-14T04:30:51.213 に答える