#ruby-on-rails
#ruby-on-rails
Вопрос:
У меня есть замечательный вопрос, с которым, я уверен, кто-то сталкивался раньше.
У меня есть несколько классов, которые наследуются от ApplicationRecord, а ApplicationRecord наследуется от ActiveRecord::Base.
Давайте назовем мои классы Post, Comment, Author.
Теперь у меня есть несколько проблем для каждой из этих вещей, которые имеют включения. Чтобы мне не приходилось жестко кодировать в каждой из проблем, у меня есть каталог проблем.
Вызов к нему по существу запускает каждую из проблем для модели.
ConcernDirectory.inclusions(self).each{ |inclusion| include inclusion }
Если у меня есть это в каждой модели, все работает нормально.
Однако, если я помещу это в родительский файл (ApplicationRecord), это больше не будет работать.
Когда я запускаю его в ApplicationRecord, self указывает на ApplicationRecord (аннотация). Как мне получить вызов из ApplicationRecord для ссылки на дочерний элемент, от которого пришел вызов?
например.
post = Post.new
когда он создает экземпляр своего родительского класса
--------------.is_a?(::Post)
было бы true из ApplicationRecord.
Что такое ————?
Спасибо за помощь!
Комментарии:
1. где и как именно вы это вызываете?
2. и кстати, почему бы не включить все непосредственно в ApplicationRecord и пойти сложным путем создания чего-то, что выполняет включение?