1

这是我的代码:

<a href="<%= foo_path(foo) %>" class="<%= foo.roles.empty? ? foo.roles.gsub(',', ' ') : ""  %>">

undefined method `empty?' for nil:NilClass

如果里面有东西,我只想输出一个字符串的gsub roles,如果没有,那么就吐出一个空字符串。

有什么建议么?

4

2 回答 2

3

nil.to_s=> '',并且您的替换对空字符串没有影响,因此您可以empty?像这样完全跳过测试:

<a href="<%= foo_path(foo) %>" class="<%= foo.roles.to_s.gsub(',', ' ')  %>">
于 2013-03-23T23:18:08.883 回答
0

使用blank? 方法

<a href="<%= foo_path(foo) %>" class="<%= foo.roles.blank? ? "" : foo.roles.gsub(',', ' ')  %>">
于 2013-03-23T23:19:34.090 回答