JSONAPI-Resources / JSONAPI-Resources/jsonapi-resources
can I do unscoped inside filter
まだ誰も着手していません。
- 主要言語
- Ruby
- スター
- 2.3k
- フォーク
- 546
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
I override self.records methods
def self.records(options = {})
Course.index_page
end
which return courses that have index flag.
in a filter, I'd like to return all courses that I've purchased.
filter :paid, apply: ->(records, _value, _options) {
records.unscoped.where(id: some_ids)
}
an error was returned if some_ids includes course that doesn't have index flag.
Internal Server Error: undefined method id' for nil:NilClass /../../gems/jsonapi-resources-ad12cbab49cf/lib/jsonapi/resource_serializer.rb:59:in block in serialize_to_hash'
do I implement it in a wrong way, or some issues here?
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
カスタムの records メソッドと filter :paid コールバックから始め、次に jsonapi/resource_serializer.rb の 59 行目を確認してください。index フラグのないコースを含む some_ids で失敗を再現し、スコープを解除した結果が serializer の期待と一致するかを判断してください。挙動が明確になり、適切な回帰テストでカバーされるか、サポート対象外として文書化されれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- rails, ruby
- 領域
- api, backend
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 20/100