'method_missing': неопределенная локальная переменная или метод 'has_ancestry'

Я следую этому руководству (http://www.tweetegy.com/2013/04/create-nested-comments-in-rails-using-ancestry-gem/) о том, как настроить гем Ancestry для вложенных комментариев. Когда я просматриваю учебник в обычном приложении 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 в этом приложении, я получаю сообщение об ошибке отсутствия метода. Пожалуйста, дайте мне знать, если мне нужно включить дополнительную информацию для помощи. Спасибо.


person nykon333    schedule 16.10.2013    source источник


Ответы (1)


Если вы используете движок, вы должны поместить родословную в свой Gemfile и потребовать ее в lib/<your_engine>/engine.rb file.

lib/your_engine/engine.rb

require 'ancestry'
person Arjan    schedule 16.10.2013
comment
Это все, чего мне не хватало. Забавно, как такая простая вещь, как одна строка, может вызвать такую ​​проблему. Спасибо. - person nykon333; 16.10.2013