我在 Rails 应用程序中有一个字段定义为文本(在数据库端)。现在,一些较旧的数据作为字符串直接写入其中。我想开始向它添加哈希。
当我检索数据时,如果它是一个哈希,我想以不同的方式呈现它。
这是我尝试过的,但它不起作用,因为acts_like?方法总是返回 false:
if suggestion.acts_like? Hash
suggestion.each {|attr, value| puts(helper.t attr+": "+value.to_s)}
else
puts suggestion
end
我做错了什么?是acts_like吗?甚至在这里使用正确的东西?
我试图结束这个问题,因为我找到了答案,但它似乎没有正确保存。
这是我最终使用的:
if suggestion.is_a? Hash
....
else
...
end
我还是不知道为什么acts_like?行不通,但 is_a? 确实有效!Oldergod 的 kind_of 建议?也有效!