我有一个数据模型,其中 aUser
可以喜欢 aProject, Suggestion, Comment
或其他对象。模型设置正确,likes/show.rabl
如果我们只是为了支持Project
孩子,它就可以工作
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>
。但是,在第一种情况下我没有收到此错误。有任何想法吗?