我正在实现此解决方案作为多态的替代方案。
Why can you not have a foreign key in a polymorphic association?
但我想知道是否有一个简单的方法:
Article.comments
代替Article.commentable.comments
答案 0 :(得分:3)
您应该能够使用delegate
将方法调用传递给另一个对象。
class Article < ActiveRecord::Base
has_one :commentable
delegate :comments, :to => :commentable
end
编辑:
我假设你并不是要在你的例子中使用常量文章,因为这不会起作用。这些方法是实例方法,需要用作:
article = Article.first
article.commentable.comments
article.comments (Equivalent to above)