Rails: указывает, что модель имеет наблюдателя - PullRequest
2 голосов
/ 22 февраля 2012

Модель, которую я реализовал, должна экранировать / отформатировать одно из полей в html-дружественную версию введенного текста (в качестве аргумента, скажем, что это сине-красная ткань).

Я реализовал это в обозревателе с обратным вызовом before_save, все работает, нареканий нет.Я изучаю рельсы, когда кодирую, и меня поразило, что от простого взгляда на модель нет никаких признаков того, что у нее есть наблюдатель.

Есть ли аккуратный способ указать (для других программистов, которые могут просматривать / редактировать мой код), что у модели есть наблюдатель или я должен просто сделать это в комментарии (или не делать это вообще).

Ответы [ 2 ]

1 голос
/ 23 февраля 2012

Насколько я знаю, вам не нужно указывать в целевом классе / модели, что у него есть наблюдатель, все, что вам нужно сделать, это убедиться, что наблюдатель перечисляет, какие модели он наблюдает.

class ContentObserver < ActiveRecord::Observer
  observe :answer, :audio_clip, :document
  #This right here ^

  def after_update(record)
    record.recent_activity.save!
  end
end
0 голосов
/ 04 июля 2012

Наличие файла спецификации / теста для наблюдателя. Если в будущем кто-то изменит модель таким образом, что расстроит наблюдателя, тогда спецификация / тест не пройдут, что предупредит их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...