Чтобы расширить мой комментарий, похоже, вам удалось получить конечный пробел в вашем title
. Вы получаете -Test -
, когда вы пытаетесь:
Rails.logger.error '-' + current_user.role.title + '-'
и current_user.role.bytes.count
равно 5, поэтому это просто простое пространство (или, возможно, табуляция), а не некоторая путаница с Юникодом.
Возможно, вы захотите очистить свои данные перед сохранением их с помощью strip
или strip!
, и вы захотите сделать то же самое с любыми данными, которые у вас уже есть.
Одна последняя проверка должна была бы попробовать это:
<% if current_user.role.title.strip == "Test" %>
Пробел также объясняет, почему ваш подход split
вел себя как ожидалось:
role_Array = (current_user.role.title).split
if role_Array[0] != "Test"
Просто string.split
разделит (почти всегда) разделение на пробелы, так что role_Array
в итоге будет выглядеть как ['Test']
, потому что split
отбросит конечный пробел.