字符串比较不适用于Ruby
我想比较给出的两个值
但这种比较似乎根本不起作用。 我检查了current_user.role.title
的值,然后打印出“Test”; 但是当我在html页面中对它进行比较时,这会失败。 我也尝试过
但它不起作用!! current.role.title
的值作为Varchar存储在数据库中。
为了扩展我的评论,看起来你设法在你的title
获得一个尾随空格。 当你尝试时,你得到了-Test -
Rails.logger.error '-' + current_user.role.title + '-'
和current_user.role.bytes.count
是5所以它只是一个普通的空间(或可能是一个标签)而不是一些Unicode混淆。
您可能希望在使用strip
或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
会抛弃尾随空格。