我连接到数据库并将db.results_as_hash更改为true
db = SQLite3::Database.new 'barbershop.sqlite'
db.results_as_hash = true
但它不显示哈希,它是简单的数组。 而且不工作
<% @results.each do |row| %>
<tr>
<td><%= row['Name'] %></td>
工作代码是
<% @results.each do |row| %>
<tr>
<td><%= row[1] %></td>
错误是“没有将String隐式转换为整数”
怎么了?
Ruby 2.1.5p273,SQLite版本3.8.5,MacOS X Yosemite
答案 0 :(得分:2)
来自repo you posted。你实际上没有设置那个标志。您问题中的代码不是您正在运行的代码。没有db
变量,第一行有return
,所以第二行永远不会运行。
def get_db
return SQLite3::Database.new 'barbershop.sqlite'
db.results_as_hash = true
end
我猜这只是编译因为最后一行没有执行。试试这个:
def get_db
db = SQLite3::Database.new 'barbershop.sqlite'
db.results_as_hash = true
db
end