楽天APIで在庫状況に関わらず全て表示するときの注意点

現在楽天BooksAPIを用いてWEBアプリケーションを開発しているのですが、割としょうもないことで悩んでいたので、備忘録として書いておきます。

まず楽天APIにはoutOfStockFlagというサービス固有パラメータが存在しており、これの値を0か1に変更することで、在庫状況による検索結果を絞ることができます。
デフォルトの値は0となっており、これは品切れなど購入不可能な状態の商品は返さないという指定です。
通販系のWebサービスを作るのであれば、デフォルトの値でも構いませんが、僕のようにデータベース系というかSNS要素のあるものを作る場合、購入できるかどうかはぶっちゃけそこまで関係ない。
ということでこの値を1にすることで、購入可能かどうかは問わず、全て表示させました。

books#new

if @title.present?
      results = RakutenWebService::Books::Book.search({
        title: @title,
        booksGenreId: '001001',
        sort: '+releaseDate',
        outOfStockFlag: '1'
      })

ですがこの設定にしたところ、商品のshowページに遷移する際に、nilエラーが。
bindind.pryを用いて調べてみると、DBに商品の情報を登録する際、楽天APIから返ってくる値が空でした。
そこですぐに気がつけば良いのですが、要はDBに登録するときのコードを

books#show

unless @book.persisted?
      results = RakutenWebService::Books::Book.search({
        isbn: @book.isbn,
        outOfStockFlag: '1',
    })

と、ここにもoutOfStockFlagをちゃんと指定しましょうというだけでした。
普段はソートなどでしか弄らないので、完全に盲点でした。