我是铁杆的新手,我遇到了一些困难......
我有一个页面显示表格中的记录列表,并希望用户能够进行更改,提交表单,运行验证并保留数据。
这是我到目前为止所做的:
查看:
- @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数组,以查看已更改的内容并写回任何更改。
这感觉很糟糕,因为我必须明确地比较每个字段,如果由于验证错误导致某些操作失败,我应该如何回滚任何更改并将消息显示给用户?
我希望由于我的铁路无知,这整个方法都是错误的,我错过了一个技巧。有没有人对如何处理这个问题有任何建议?
答案 0 :(得分:0)
我认为您在people model
和person model
之间设置了关联,方法是查看视图代码中隐藏的person_id
字段。
如果您的关联设置正确,请使用
<强> accepts_nested_attributes_for 强>
并按照Rails guides for association basics 在这个时候,我只能帮助你,因为你的问题没有提供太多的信息。