【问题标题】:Ruby TypeError: no implicit conversion of fixnum into string using jsonRuby TypeError:没有使用json将fixnum隐式转换为字符串
【发布时间】:2016-08-17 00:18:31
【问题描述】:

我在使用 post(url, json) 进行 api 测试时出错。 我已经使用过 .to_i,无论我从堆栈溢出中得到什么建议。但仍然无法正常工作。我正在使用 ubantu 14.04 LTS。轨道 5.0, 我的代码是这样的:

post "/api/...",
params: { email: "email@mailinator.com", password: "xyz", ttl: 300 }
assert_response :success

问题在于字段 ttl:。 如果我删除此字段,则一切正常。 但我必须添加"ttl",它的数值类似于"1234"

【问题讨论】:

    标签: ruby-on-rails api


    【解决方案1】:

    将值作为字符串传递...

    post "/api/...",
    params: { email: "email@mailinator.com", password: "xyz", ttl: '300' }
    assert_response :success
    

    在你的 post 方法中,如果你需要 ttl 是一个整数,那么你可以在那里做......

    params[:ttl].to_i
    

    【讨论】:

      【解决方案2】:

      最后,这个问题通过使用 .to_json 解决了。 json 将值视为字符串,而不是采用实际类型的数据。 我用过,格式如下。

      • 参数:{电子邮件:“email@mailinator.com”,密码:“xyz”,ttl:300}.to_json

      现在它工作正常。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-06
        • 1970-01-01
        • 2019-03-11
        • 1970-01-01
        • 1970-01-01
        • 2014-01-14
        相关资源
        最近更新 更多