Rails + React - problem z wyświetlaniem danych

Cześć, mam mały problem i nie mam pojęcia jak go rozwiązać, dlatego zwracam się tutaj. Zbudowałem proste API w railsach (blog), a do frontu używam reacta. Problem pojawia się od strony frontu, aczkolwiek wklejam controller i widok jeżeli coś nie tak byłoby po stronie API. Dane o których mowa dalej, pobieram przez metodę show posta.

class V1::PostsController < ApplicationController
  def index
    @posts = Post.all
    render :index, status: :ok
  end

  def create
    @post = Post.new(post_params)
    @post.save

    render :create, status: :created
  end

  def show
    @post = Post.find(params[:id])

    render :show, status: :ok
  end

  def destroy
    @post = Post.where(id: params[:id]).first
    if @post.destroy
      head(:ok)
    else
      head(:unprocessable_entity)
    end
  end

  private
  def post_params
    params.require(:post).permit(:title, :contents, :image, :category_id, :user_id)
  end
end

Widok show - show.json.jbuilder:

json.data do
  json.post do
    json.id @post.id
    json.title @post.title
    json.contents @post.contents
    json.image @post.image
    json.created_at @post.created_at
    json.user_nickname @post.user.nickname
    json.category_name @post.category.name

    json.comments @post.comments do |comment|
      json.id comment.id
      json.body comment.body
      json.post_id comment.post_id
      json.user_nickname comment.user.nickname
      json.created_at comment.created_at
    end
  end
end

Jak wysyłam request przez axiosa (react) to wszystko jest okej, dostaje dobry response, który zapisuje w reducerze (całość jako obiekt). Aczkolwiek problem pojawia się w momencie, gdy wyciągam dane z reducera gdy chce się do nich odwołać. Mam możliwość odwołania się do wszystkich danych oprócz komentarzy. Czyli gdy chce wyświetlić tytuł posta, to wszystko jest okej, ale gdy mapuje po komentarzach to wyskakuje mi błąd: „Cannot read property ‘map’ of undefined”. Sam już nie wiem w czym jest problem, macie może jakiś pomysł?

Response jaki otrzymuje w chwili pobrania:

Rozwiązałem problem trochę na około przez react. Pobrałem wszystkie komentarze i później filtrowałem przez post_id, aczkolwiek jeżeli ma ktoś pomysł dlaczego nie działał wcześniejszy sposób to proszę o wskazówkę :slight_smile:

Być może próbujesz iterować po comments w momencie gdy dane nie są jeszcze pobrane do komponentu? Masz ustawiony initialState w reducerze na np. pustą tablice?

Tak mam, w momencie pobrania danego posta, zapisuje go w całości jako obiekt (komentarze są wewnątrz jego). Gdy wyciągam dane ze stora w komponencie to dostaje prawidłowy obiekt, który zawiera wszystkie informacje o poście + komentarze. Do wszystkich informacji posta mogę się odwołać, ale iterować po komentarzach nie mogę.

Zrób sobie prosty console.log(this.props.post) w funkcji render() w komponencie i zbadaj czy za każdym razem ten console.log() loguje odpowiedni obiekt (czy w którymś momencie nie jest on czasem undefined).