为什么会这样

@discussions = Discussion.where(:discussable => @discussable)


不起作用。这项工作:

@discussions = Discussion.where(:discussable_id => @discussable.id, :discussable_type => @discussable.class.to_s)


谢谢。

最佳答案

因为在第一个实例中,您要传递完整的模型实例。该属性必须是一个id(整数),并且您传递一个对象。第二个是可以的,因为您正确地传递了id。

关于ruby-on-rails - Rails多态查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5589587/

10-08 23:13