Czy to wygląda źle?

Cześć,

Mam napisany backend (jsonapi-resources) i generuje mi takie zapytania dla jednego GET, co o tym sądzicie? Jest niedobrze? :smile: Może lepiej mniej inkludować, i zrobić więcej zapytań GET. Bo tutaj np.
Pierwsze pobieram wszystkie:

class UserFavoriteStream < ActiveRecord::Base
	belongs_to :user
	belongs_to :stream
end

potem jest include dla strumienia/kanału

 class Stream < ActiveRecord::Base
	has_many :posts, dependent: :destroy
	has_many :forum_posts, dependent: :destroy
	has_many :user_favorite_streams, dependent: :destroy
	belongs_to :user
end

dodatkowo dokładam usera który utworzył strumień

   class User < ActiveRecord::Base
       has_many :forum_posts
       has_many :user_favorite_streams
       has_many :streams
       has_many :user_favorite_posts
    end

następnie pobieram wszystkie powiązane posty ze srumieniem

class Post < ActiveRecord::Base
	belongs_to :stream
	belongs_to :user
	has_many :user_favorite_posts
end

i na końcu Usera który utworzył post

class User < ActiveRecord::Base
   has_many :forum_posts
   has_many :user_favorite_streams
   has_many :streams
   has_many :user_favorite_posts
end

Dodatkowo jeśli user przeszedł authenticate, to dla każdego postu sprawdzam czy dany post jest ulubiony czy nie:

class PostResource < JSONAPI::Resource
	attributes  ... :is_favorite

	has_one :stream
	has_one :user
	has_many :user_favorite_posts

	def is_favorite
	  if context[:current_user]
	    favorite = UserFavoritePost.where(user_id: context[:current_user].id, post_id:_model.id).first
	      if favorite
		favorite.good
	      end
	   end
	end
end

Tak to wygląda:

http://s10.postimg.org/3xts274op/Zrzut_ekranu_Deepin20160115150156.png