【问题标题】:Rails, correct JSON body for a serialized field?Rails,序列化字段的正确 JSON 正文?
【发布时间】:2014-01-09 17:35:49
【问题描述】:

如果我有一个带有序列化字段的 Rails 模型,

class Tournament < ActiveRecord::Base
  serialize :prizes, Array
end

我通过 REST API 可以使用模型,POST 正文的正确格式是什么?

我在 Rspec 测试中尝试了以下方法,

post :create, {
    format: :json,
    tournament: {
          prizes: [
            'z2000',
            'z1000',
            'z500',
            'z250'
          ]
    }
}

但这会导致对象的奖品设置为空白。

【问题讨论】:

    标签: ruby-on-rails serialization ruby-on-rails-4


    【解决方案1】:

    想办法。该修复与我的 JSON 请求正文完全无关。

    我已将控制器中的强参数分配为,

    params.permit(:prizes)
    

    但由于它是一个数组,我需要以下内容

    params.permit(prizes: [])
    

    来自https://github.com/rails/strong_parameters

    声明params中的值必须是允许的数组 标量值将键映射到一个空数组:

    params.permit(:id => [])

    【讨论】:

      猜你喜欢
      • 2012-08-28
      • 1970-01-01
      • 2019-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-15
      • 1970-01-01
      • 2019-08-21
      相关资源
      最近更新 更多