Ruby on rails 如何将两行中的信息保存到一行中?

Ruby on rails 如何将两行中的信息保存到一行中?,ruby-on-rails,Ruby On Rails,我想从我工作的数据库中提取每个学生的名字和姓氏;这样我就可以和新生一起更新我的本地数据库。问题是学生的名字和姓氏排在不同的一行;因此,当我试图拯救这些学生时,我也得到了两行不同的数据 我曾尝试使用student.new(student_参数)创建一个student,然后在程序滚动每一条信息时,每当该信息可用时,设置两个变量(一个用于名字,另一个用于姓氏) 之后,我尝试保存该学生,然后更新该学生;但当我更新它时,它会创建另一行 这就是我现在所拥有的: NewOcOrderOption.where(

我想从我工作的数据库中提取每个学生的名字和姓氏;这样我就可以和新生一起更新我的本地数据库。问题是学生的名字和姓氏排在不同的一行;因此,当我试图拯救这些学生时,我也得到了两行不同的数据

我曾尝试使用
student.new(student_参数)
创建一个student,然后在程序滚动每一条信息时,每当该信息可用时,设置两个变量(一个用于名字,另一个用于姓氏)

之后,我尝试保存该学生,然后更新该学生;但当我更新它时,它会创建另一行

这就是我现在所拥有的:

NewOcOrderOption.where("name = 'Student First Name' OR name = 'Student Last Name'").each do |key|
          #binding.pry

          @st = Student.new(student_params)

          @st.id = key.order_id

          @st.first_name = key.value if key.name == "Student First Name"

          @st.save!

          stu = Student.find(@st.id)

          @st.last_name = key.value if key.name == "Student Last Name"

          stu.update_attribute(:last_name, @st.last_name) if @st.last_name != nil

          #@st.save!

        end
如果我没有很好地解释自己,我深表歉意。我已经处理这个问题5个小时了。多谢各位

而且,这一切都发生在我学生的控制器上

编辑:

原始数据库看起来像

这就是我希望它看起来的样子:

id first\u name last\u name
4074克里斯蒂安·波兰科
4075劳尔人

这是输出:

id first\u name last\u name
4074克里斯蒂安零
4074零波兰科
4075劳尔零
4075空个人

您可以在
新记录
记录上使用。
它将返回一个散列,其中
order\u id
作为键,所有选项(用于此id)作为值:

NewOcOrderOption.all.group_by(&:order_id).each do |id, options|
  student = Student.new
  options.each do |option|
    case option.name
    when 'Student First Name' then student.firstname = option.value
    when 'Student Last Name' then student.lastname = option.value
    end
  end
  student.id = id
  student.save!
end

但是,请注意,
id
受属性保护,您应该向学生模型添加另一个属性来存储
order\u id
,而不是覆盖
id
主键(您可以获取更多解释)

如果我理解清楚,每个
NewOcOrderOption
实例都包含一个学生的名字或姓氏。但期权的两个实例之间的共同点是什么?订单号?我想你不想赋予一个姓和一个姓randomly@sovalina,则
NewOcOrderOption
实例包含学生的名字和姓氏,以及家长的信息。每一行都由一个
order\u id
标识,我希望它是每个学生创建的id。将来,该学生的id将用于创建该学生是否存在的验证。
NewOcOrderOption
表看起来非常感谢,这解决了我的问题。令人惊讶的是,这个问题很快就解决了,但5个小时后,我昨天就发疯了。我会看看帖子的,再次感谢大家对我的帮助!