JSONAPI-Resources / JSONAPI-Resources/jsonapi-resources

can I do unscoped inside filter

オープン
#992 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
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?

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. 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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。