Ruby on Rails - камень заслуги grant_on не запускается

Поэтому я только что установил драгоценный камень достоинств и использовал его для реализации значков в своем приложении. Я определяю значок внутри config/initializers/merit.rb файл как так:

badge_id = 0
[{
  id: (badge_id = badge_id + 1),
  name: 'badge-one',
  custom_fields: { test_id: 'sample_id' }
}].each do |attrs|
  Merit::Badge.create! attrs
end

Этот значок вознаграждается пользователю при его создании. Пользователь создается внутри user_controller.rb в пределах create метод:

grant_on 'user#create', badge_id: 1, badge: 'badge-one', to: @user

По какой-то причине, когда создается новый пользователь, значок никогда не вознаграждается. Когда я печатаю Merit::Badge.find(1) Я вижу, что значок действительно определен. Тем не менее, когда я печатаю User.first.badges в мою консоль возвращает пустой массив. Почему значок не вознаграждается пользователю при регистрации? Пожалуйста, дайте мне знать, если вам нужна дополнительная информация, чтобы помочь с решением этой проблемы.

Изменить для предоставления дополнительной информации

Вот то, что я получаю, когда я бегу в Merit::Badge.find(1).inspect внутри консоли:

#<Merit::Badge id: 1, name: \"badge-one\", level: nil, description: nil, custom_fields: {:test_id=>\"sample_id\"}>

0 ответов

Другие вопросы по тегам