2014-12-19 45 views
0

我在erb页面(Ruby on Rails)上有一个非常简单的代码。该错误是奇怪的:不能转换成字符串整数Ruby on rails:无法将字符串转换为Integer for contoku

代码很简单:)

<% if q['year'] %> 
    q[YEAR] <%= q['year'] %> 
<% end %> 

任何帮助:)有在互联网描述,但不是精确的像我这样的很多这样的错误? !

+1

我觉得q ['year'.to_i] – djrock 2014-12-19 10:31:00

回答

2

q可能是Array的一个实例,而不是Hash,所以q.[]方法需要整型参数。

+0

是的,这对我来说是个好消息,Dzieki :) – 2014-12-19 10:08:04

1

使用调试器并验证q的类。它似乎不是一个散列,所以它不能通过一个字符串键来访问。它看起来像q是一个字符串或数组。调试你所拥有的视图

1

最好的办法是设置一个debugger类似以下内容:

<% debugger %> 

然后你就可以计算表达式,看看还有什么。有在http://guides.rubyonrails.org/v4.0.8/debugging_rails_applications.html(轨道4)或http://guides.rubyonrails.org/v3.2.19/debugging_rails_applications.html(轨道3)或http://guides.rubyonrails.org/v2.3.11/debugging_rails_applications.html(轨道2)

你可以做,很远很远使用debugger另一件事指南进行调试,是一个使用debug助手打印出变量:

<%= debug q %> 

这将打印任何q包含的人类可读版本。

相关问题