Если вы храните пользовательский контент в базе данных, тогда вы сможете добавить решение о том, является ли контент «чистым» или нет, в определение вашей модели.
Затем вашпросмотры могут включать или исключать соответствующие рекламные теги на основе значения чистоты текущего объекта, например:
<%= @article.body %>
<% if @article.clean? %>
<= render :partial => 'ads/google' %>
<% end %>
Если содержимое вашей страницы состоит из нескольких объектов, и вам необходимо проверить все их возможные выходные данныетекст, который немного усложняет, но это не недостижимо.
В настоящий момент, похоже, вы пытаетесь поместить всю эту бизнес-логику исключительно на уровень клиент / JavaScript.Как вы предполагаете, это может быть довольно медленным и ненадежным.Это также очень сложно проверить.Перемещение правил в ваши бизнес-модели позволит вам проверить их и гарантировать, что они не сломаются, когда вы работаете над тем, как заставить их работать как можно быстрее.