0

我正在尝试测试我的价值观是否存在......不知道该怎么做,我刚刚开始学习 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 中测试这样的东西?

谢谢

4

2 回答 2

1

你可以做一个puts key. Puts将其第一个参数转换为字符串并将其输出到标准输出(您的控制台)。

不过,使用调试器可能更容易。您可以使用以下命令打开控制台调试器(想想 gdb)

require 'debugger'; debugger

请务必先安装调试器 gem。将以下内容放入您的 Gemfile

gem 'debugger', group: [:development, :test]

编辑:添加了调试器 gem 的 github 页面的链接。

于 2013-04-14T23:22:55.010 回答
0

您可以将其登录到您的控制台中。

Rails.logger.info key.inspect # or whichever's value you want to check

检查对象时也很有帮助

于 2013-04-14T23:26:14.230 回答