2012-01-13 11 views
9

루비를 모르지만 내 응용 프로그램에이 문제가 있습니다. 누군가 나를 도울 수 있니?문자열로 nil을 변환 할 수 없습니다

ActionView :: TemplateError 라인에 # 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 || "")을 사용하면 기본값을 빈 문자열로 설정해야합니다.

이 기술을 널 (또는 없음) 통합이라고합니다.

+1

변수의 출처에 따라 뷰에서 사용하기 전에 이미 기본값으로 설정하고 싶을 수도 있습니다. 귀하의 경우에는 아마도 highlight_ontology에있을 것입니다. – trueunlessfalse

+4

나는'variable.to_s'를 선호합니다. – sawa

+0

쿼리 : 오류는 "nil을 String으로 변환 할 수 없습니다." 어떻게/왜 같은 변수를 문자열로 강제 할 수 있습니까? – adamwong246

관련 문제