代码之家  ›  专栏  ›  技术社区  ›  user3576036

向活动记录中的jsonb列添加哈希

  •  0
  • user3576036  · 技术社区  · 8 年前

    我在控制器中返回一个params散列。

    params[:questions] = {"ad6d1d19-f95b-228c-8a19-49150ad15f23"=>"answer21", "90783719-9cd6-23de-f3fb-9bc80e7a72a0"=>"answer22"}
    

    具有多个键值对。 我有模特 模型1 .这有一个json列,名为 answers . 每次返回params[:questions]时。我在试着创造一个 Model1 反对意见如下:

    Model1.create(answers: {q_id: the_id, ans: the_answer})
    

    如何创建多个键值对 答案 柱如果我遍历 params[:questions] 创建一个对象,它会为每一对创建一个新对象。所以这不是一个解决方案。

    1 回复  |  直到 8 年前
        1
  •  0
  •   Denny Mueller    8 年前

    这样行吗?

    m = Model1.new
    params[:questions].each do |id, answer|
      m.answers << {q_id: id, ans: answer}
    end
    m.save!
    

    或许

    hash = {} 
    params[:questions].each do |id, answer|
      hash << {q_id: id, ans: answer}
    end
    Model1.create(answers: hash
    

    )