2012-01-13 169 views
9

我不知道红宝石,但我遇到了这个问题与我的应用程序。有人可以帮助我吗?无法将零转换为字符串

::的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 2012-01-13 16:08:10

+4

我更喜欢'variable.to_s'。 – sawa 2012-01-13 18:49:06

+0

查询:错误是“无法将nil转换为String”。你如何/为什么可以强制相同的变量到一个字符串? – adamwong246 2012-12-27 04:13:05