我在erb页面上有一个非常简单的代码(Ruby on Rails)。错误很奇怪:无法将String转换为整数
代码非常简单:)
<% if q['year'] %>
q[YEAR] <%= q['year'] %>
<% end %>
任何帮助?:)互联网上描述了很多这样的错误,但不像我的那样!
答案 0 :(得分:2)
q
可能是Array
的实例,而不是Hash
,因此q.[]
方法需要整数参数。
答案 1 :(得分:1)
使用调试器并验证q的类。它似乎不是哈希值,因此无法通过字符串键访问它。看起来q是字符串或数组。
答案 2 :(得分:1)
调试视图中的内容最好的方法是设置debugger
,如下所示:
<% debugger %>
然后你可以评估表达式,看看有什么。在http://guides.rubyonrails.org/v4.0.8/debugging_rails_applications.html(rails 4)或http://guides.rubyonrails.org/v3.2.19/debugging_rails_applications.html(rails 3)或http://guides.rubyonrails.org/v2.3.11/debugging_rails_applications.html(rails 2)中有调试指南
您可以做的另一件事,远离使用debugger
,是使用debug
帮助程序打印出变量:
<%= debug q %>
这将打印q
包含的任何人类可读版本。