У меня есть модель данных, где User
может понравиться Project, Suggestion, Comment
или другими объектами. модели установлены правильно, и likes/show.rabl
работает, если мы были просто, чтобы поддержать Project
ребенкаRender частичные части RABL с полиморфными моделями
object @like
attributes :id, :created_at, :target_type, :target_id, :user_id
child :user => :user do
extends "users/show"
end
child :target do
node do |project|
partial('projects/show', :object => project)
end
end
Однако, я хочу, чтобы иметь возможность использовать партиалы из suggestions/show, comments/show
, а в зависимости от target_type
.
Я попытался это, но он не работает:
child :target do |u|
u.target.map do |r|
if r.is_a?(Suggestion)
partial("suggestions/show", :object => r)
elsif r.is_a?(Project)
partial("projects/show", :object => r)
end
end
end
я undefined method target for <Rabl::Engine:0x69fb988>
. Тем не менее, я не получаю эту ошибку в первом случае. Есть идеи?