Я новичок в рельсах, и у меня возникли некоторые трудности ...
У меня есть страница со списком записей в таблице, и я хотел бы, чтобы пользователь мог вносить изменения, отправлять форму, запускать проверку и сохранять данные.
Это то, что я имею до сих пор:
Вид:
- @people.each do |p|
%tr
%td
%input{:type => "hidden", :name => "person_id[]", :value => p.id}
%input{:name => "firstname[]", :value => p.firstname}
%td
%input{:name => "lastname[]", :value => p.lastname}
Пример параметров, отправляемых на контроллер:
"person_id"=>["12", "13", "14"],
"firstname"=>["john", "joe", "mary"],
"lastname"=>["smith", "bloggs", "jane"],
В этот момент мне страшно, потому что я больше не привязан к активной записи. Вместо этого я чувствую, что хочу написать какой-то беспорядочный код для цикла по массиву person_id, чтобы увидеть, что изменилось, и записать все изменения обратно.
Это плохо, потому что я должен явно сравнивать каждое поле, даже если что-то не получается из-за ошибки проверки на полпути, как мне откатить любые изменения и показать сообщения пользователю?
Я надеюсь, что из-за незнания моих рельсов весь этот подход неверен, и мне не хватает хитрости. У кого-нибудь есть предложения как подойти к этой проблеме?