Кирилл Казаков: В приведенном коде метод `subscribe_on?` возвращает результат выражения ` logger.debug "subscribe_on subs-: #{subs}"`. Я много думал, и понял, что суть вашей проверки - проверить, существует ли подписка с передаваемым `email` и `subscription` равным `true`. Сейчас напишу код в ответе.
Кирилл Казаков: удали метод `subscribe_on`. В валидации напиши вместо `:uniqueness=> {:if=> :subscribe_on?}` - `:uniqueness=> {:if=> :subscribe?}`. Если, конечно, поле `subscribe` существует, и описано в `schema.rb`
Думаю, что начать нужно с основ ООП. Так как Ruby объектно ориентированный язык. И все эти `class`, `@var` - части реализации ООП в Ruby. Я познакомился с ООП на 3-м курсе ПТУ. В ВУЗах тоже проходят.
ToshiDono: вот чумовая статья про ООП и Ruby nashbridges.me/introducing-ruby-oop . После прочтения зарегишься с вероятностью 70%. Сам когда-то по ней разбирался. Без знаний ООП за Ruby лучше не браться.