2012-01-13 16 views
9

Ruby'yi tanımıyorum ama bu sorunu uygulamamda yaşıyorum. Biri bana yardım edebilir mi?nil'i String'e dönüştüremiyor

ActionView :: TemplateError on line # 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) %> 

Teşekkür (Dizesi'ne nil dönüştürmek olamaz)!

cevap

16

Sadece değişken yerine (variable || "") kullanmak boş bir dizgiyi varsayılan yapması gerekir.

Bu teknik null (veya nil) birleştirme işlemidir.

+1

Değişkenin nereden geldiğine bağlı olarak, görünümde kullanmadan önce varsayılan olarak "" seçeneğine sahip olmak isteyebilirsiniz. Durumunuzda muhtemelen highlight_ontology olacaktır. – trueunlessfalse

+4

Ben variable.to_s' tercih ederim. – sawa

+0

Sorgu: Hata "nil'i String'e dönüştüremiyor." Aynı değişkeni bir dizeye nasıl/neden zorlayabilirsin? – adamwong246

İlgili konular