Я хочу получить имя и фамилию каждого учащегося из базы данных моей работы;чтобы я мог постоянно обновлять свою локальную базу данных новыми студентами.Проблема в том, что имена и фамилии студентов находятся в разных строках;поэтому, когда я пытаюсь сохранить этих учеников, я также получаю две разные строки.
Я пытался создать ученика с Student.new(student_parameters)
, а затем настроить две переменные (одну для имени, а другую и другую).для фамилии) каждый раз, когда эта информация становится доступной по мере того, как программа перебирает все фрагменты информации.
После этого я попытался сохранить студента, а затем обновить того же самого студента;но он создает новую строку, когда я обновляю его.
Это то, что у меня есть сейчас:
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 часов.Спасибо.
Кроме того, все это происходит на контроллере моего ученика.
Редактировать:
Исходная база данных выглядит как this
Вот как я хочу, чтобы это выглядело так:
id first_name last_name
4074 Cristian Polanco
4075 Raul Person
Это вывод:
id first_name last_name
4074 Cristian NULL
4074 NULL Polanco
4075 Raul NULL
4075 NULL Person