在Rails 4中存储一组哈希值

时间:2016-07-12 18:34:23

标签: ruby-on-rails arrays postgresql ruby-on-rails-4

我想将值存储在名为team_setup的json列(Postgresql)中,格式为:

[
 {"user_id" : "value1", "task" : "task1"},
 {"user_id" : "value2", "task" : "task2"}
]

此列需要通过网络表单填写。这就是我到目前为止所做的:

simple_form_for :edit_team, url: edit_path do |e_team|
   e_team.simple_fields_for :team_setup do |team_member| %>
     team_member.input :user_id
     team_member.input :task
   end
   e_team.button :submit, 'Add member'
end 

但是,我从中得到的是

 {"user_id" : "value1", "task" : "task1"}

此结果有两个问题:

  1. 缺少概述的括号[]和
  2. 每次提交公式时,列中的先前数据都会被覆盖。但是,如果user_id值已经存在,则应该是这种情况 - 然后应该使用新值保存任务。否则,应该简单地添加新哈希。
  3. 我已经尝试用

    唤起一个数组
    e_team.simple_fields_for :team_setup, [] do |team_member| 
    

    但后来我收到了错误

      

    []:Array

    的未定义方法`user_id'

0 个答案:

没有答案