我正在按照本教程(http://www.tweetegy.com/2013/04/create-nested-comments-in-rails-using-ancestry-gem/)学习如何为嵌套注释设置 Ancestry gem。当我在普通的 rails 应用程序上运行本教程时,它工作正常。当我尝试将注释系统分离到引擎中时,出现了我的问题。以下是我拥有的模型:
在发动机中
module CommentThread
class Comment < ActiveRecord::Base
has_ancestry
belongs_to :commentable, :polymorphic => true
end
end
在主应用程序中
class Article < ActiveRecord::Base
has_many :comments, :as => :commentable, class_name: 'CommentThread::Comment'
end
如果我删除has_ancestry
我可以很好地访问评论。我按照教程进行操作,就像我在第一个应用程序中所做的那样,但由于某种原因,当我运行 Article.first.comments 时,我得到了方法缺失错误。如果我需要提供更多信息以获得帮助,请告诉我。谢谢。
如果您使用的是引擎,则应将祖先放在 Gemfile 中,并在 lib/<your_engine>/engine.rb file
中要求它。
lib/your_engine/engine.rb
require 'ancestry'