次の 2 つのモデルがあるとします。
class Conversation < ActiveRecord::Base
has_many :messages, :class_name => 'Message', inverse_of: 'conversation'
class Entity < Grape::Entity
expose :id, :title
expose :messages, :using => 'Message::Entity'
end
end
class Message < ActiveRecord::Base
belongs_to :conversation, :class_name => 'Conversation', inverse_of: 'messages'
class Entity < Grape::Entity
expose :id, :content
expose :conversation, :using => 'Conversation::Entity'
end
end
関連付けを含む json としてエンティティを提示する必要があるため、次のようになります。
これはうまくいきます:
get do
@c = Conversation.find(1)
present @c, with: Conversation::Entity
end
これはそうではありませんが:
get do
@m = Message.find(1)
present @m, with: Message::Entity
end
それは私にnullを与えますconversation
:
{"id":1,"content":"#1 Lorem ipsum dolor sit amet","conversation":null}
そのため、begs_to 関連付けでは機能していないようです。
それを機能させるために私は何をする必要がありますか?