Я имею две модели, пользователи и роль,рубин условной проверка has_and_belong_to_many
в ролевой модели:
has_and_belongs_to_many :users
В модели пользователя,
has_and_belongs_to_many :roles
validates_presence_of :name, :if => "roles.map(&:name).include?(\"manager\")"
Моя проблема заключается в том, что я могу добавьте роль «менеджера» в роли пользователя, и он пройдет. В консоли, когда я звоню
sampleUser.roles << managerRole
Он идет полным ходом и сохраняет в дБ. когда я называю
sampleUser.valid?
я получаю ложный,
Я понимаю, что из-за roles_users отдельной таблицы, ничего от пользователя не получать обновляются, поэтому не будут использоваться валидация пользователя. Любая идея, как обойти эту проблему и заставить пользователя все, что попадает в db, действительно?