我正在尝试测试我的值是否存在...不确定如何做到这一点,我刚开始学习Ruby on Rails。希望有人能指出我正确的方向吗?
假设我有这段代码:
@lv = {'apple' => ['red', 'round'], 'iPhone' => ['device', 'phone']}
if params[:var]
@lv.each do |key, tags|
if params[:var] == key
lvtags = @lv[params[key]]
lvtags.each do |tag|
@tags = client.tag_recent_media(tag)
end
end
end
end
我正在尝试查看if params[:var] == key
的循环是否有效。我想以某种方式输出alert()
类型的东西来测试key
是否有值?有alert(key)
之类的东西吗?它会显示key
是否有某些东西?或者,如果我可以测试lvtags
是否有一个应该弹出的值?
例如,如果?var=0
然后我想测试alert(lvtags)
,因此这应该会弹出apple
或某些与lvtags = @lv[params[key]]
相关联的值。我们通常如何在rails中测试这样的东西?
由于
答案 0 :(得分:1)
你可以puts key
。 Puts将其第一个参数转换为字符串并将其输出到stdout(您的控制台)。
但是,您可能更容易使用调试器。您可以使用
打开控制台调试器(想想gdb)require 'debugger'; debugger
请务必先安装the debugger gem。将以下内容放在您的Gemfile
中gem 'debugger', group: [:development, :test]
编辑:添加了一个指向调试器gem的github页面的链接。
答案 1 :(得分:0)
您只需将其记录在控制台中即可。
Rails.logger.info key.inspect # or whichever's value you want to check
检查对象时也很有用