【发布时间】:2011-11-23 10:16:31
【问题描述】:
我是 Rails 新手,遇到了一些困难......
我有一个页面显示表格中的记录列表,并希望用户能够进行更改、提交表单、运行验证和保存数据。
这是我目前所拥有的:
查看:
- @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 数组以查看发生了什么变化并将任何更改写回。
这感觉很糟糕,因为我必须明确比较每个字段,而且如果在中途由于验证错误而失败,我应该如何回滚任何更改并将消息显示给用户?
我希望由于我对 rails 的无知,这整个方法都是错误的,我错过了一个技巧。有人对如何解决这个问题有任何建议吗?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 activerecord orm