2012-01-13 18 views
9

Rubyについてはわかりませんが、私のアプリケーションでこの問題が発生しています。誰かが私を助けることができますか?はnilを文字列に変換できません

ActionView :: TemplateError(文字列にnilを変換することはできません)ライン#上の7

4: <h3><span><%= opinion.opinion %></span>: <%= opinion.keywords.sort.join('/').upcase %> </h3> 
5: <div class="original">Estado original: <span class="pos"><%= opinion.opinion %></span></div> 
6: <%#= highlight(simple_format(highlight_ontology(opinion)), opinion.keywords, :highlighter => '<em>\1</em>') %> 
7: <%= simple_format(highlight_ontology(opinion)) %> 
8: <%= button_to_remote('POSITIVO', {:url => url_for(opinion), :method => :put, :with => '"opinion[opinion]=POSITIVE"' }, :class => :positive) %> 
9: <%= button_to_remote('OBJETIVO', {:url => url_for(opinion), :method => :put, :with => '"opinion[opinion]=OBJECTIVE"' }, :class => :objective) %> 
10: <%= button_to_remote('NEGATIVO', {:url => url_for(opinion), :method => :put, :with => '"opinion[opinion]=NEGATIVE"' }, :class => :negative) %> 

ありがとう!

答えて

16

変数の代わりに(variable || "")を使用すると、デフォルトで空の文字列にする必要があります。

この技法は、ヌル(またはnil)合体と呼ばれます。

+1

変数がどこから来るかによって、ビューで使用する前に既にデフォルトにしたいことがあります。あなたの場合、それはおそらくハイパー・オントロジーにあるでしょう。 – trueunlessfalse

+4

私は 'variable.to_s'が好きです。 – sawa

+0

クエリ:エラーは "nilをStringに変換できません"。どのようにして同じ変数を文字列に強制することができますか? – adamwong246

関連する問題