我正在使用带有rails的shoulda-matchers,并创建一个名为“comments”的模型和另一个名为“post”的模型。评论是多态的。
当我在这样的帖子中使用 shoulda 匹配器进行测试时
it {should have_many(:comments)}
它收到此消息
预计帖子有一个 has_many
协会称为评论(Comment
没有 post_id 外键。)
在我的评论模型中我有
belongs_to :commentable, :polymorphic => true
如何测试我的多态关联以便帖子可以有很多评论?
附注应该匹配器文档说它支持多态关联。
您不需要在测试中做任何特殊的事情should
它应该可以工作。在您的帖子模型上确保您设置了:as
option:
has_many :comments, :as => :commentable
这将确保 Rails 使用正确的列名称commentable_id
and commentable_type
而不是post_id
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)