Я бы сначала удостоверился, что правильно определил массив, пожалуйста, проверьте в консоли, что он оценивает:
> %w[roles, users, other_table]
=> ["roles,", "users,", "other_table"]
Там (вероятно) нет таблицы с именем roles,
(с запятой на конец).
Исправьте это:
DatabaseCleaner.strategy = :truncation, {:except => %w[roles users other_tables]}
, потому что:
> %w[roles users other_table]
=> ["roles", "users", "other_table"]