Не рассматривайте его как двойной знак вопроса, первый знак вопроса является частью имени метода (Ruby позволяет имени метода заканчиваться на «!», «?», «=», «[]» И т. Д. ). Так как admin является логическим значением ActiveRecord, добавить администратора? метод, который возвращает true, если пользователь является администратором, иначе false.
Другой знак вопроса используется с двоеточием (:), и вы можете видеть его так:
condition ? statement_1 : statement_2
Если условие истинно, выполняется первый оператор, в противном случае - второй оператор.
Итак, сложите эти две вещи вместе, и у вас будет конкатенация строк, в которой между круглыми скобками будет добавлено слово «Администратор» или «Пользователь».