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 に答える