2016-10-30 13 views
0

<%=%>で印刷します。 PS:以下の作品は悪く見えます。私は常に「文字列のようなのparamを持つことができると思いRailsはユーザー入力とタグを同時に出力します

def print_if_not_blank (string, input) 
    string.insert(html_escape input).html_safe unless input.blank? 
end 

printf_if_not_blank "String: #{} <br>", @user.input 

<%= "String: #{html_escape @user.input} <br>".html_safe unless @user.input.blank? %> 

は、私はそれがそのように見える方法を記述することが可能です私は

<% unless @user.input.blank? %> 
    String: <%= @user.input %><br> 
<% end %> 

を行うことができます知っています: EVIL < br> "と" EVIL "を置き換えるよりも私の現在の解決策ではありません。あなたのビューで、次のように使用されている何

def print_if_present(template, input) 
    return unless input.present? 

    string = template % { input: html_escape(input) } 
    string.html_safe 
end 

:あなたはこのようなヘルパー書くことができる

答えて

1

<%= print_if_present('String: #{input} <br>', @user.input) 
+0

を#{場合、私は例外を追加した以外、私は、まったく同じ考えを持っていました入力}がありません。しかし、私の解決策以外は同じように見えます。私はもっ​​と良い解決策があると思った。私はより多くの解決策を待つつもりですが、あなたの答えに感謝します! –

関連する問題