假设我有一个用户模型、一个品种模型和一个宠物模型。用户将拥有许多不同品种的宠物。我想要一个看起来像这样的表格:
[下拉菜单选择宠物名称]
[名称] <--- 根据需要编辑名称
[品种]
[年龄]
[颜色]
因此,如果用户有 10 只不同的宠物,则“下拉菜单以选择宠物名称”中将有 10 个宠物名称。当用户从下拉列表中选择一个名称时,应预先填写其他字段。希望有一种方法可以删除记录或添加新记录。
我的直觉是遍历表单,将它们包装在 div 中,然后使用 JS 来控制哪个是可见的。不过,这似乎是不必要的复杂。这真的是最好的方法吗?
用户的记录可能不会超过 50 条。
编辑添加:
好的,所以我想我得到了更多。这是我应该做的。在我的控制器中,我应该有类似的东西:
current_user.pets.each do
@pets = pets.find(#ID)
end
那么在我看来我应该有:
[Drop down of all pets]
pets.each do
<div id=id class=hidden>
simple_form_for @pet_ID
</div>
end
然后是在下拉菜单中触发的脚本:
<script>
Hide <div> with previous pet id
Show <div> with new pet id
</script>
结合 railscasts 中的嵌套表单应该可以做到,对吧?我在这里犯了什么菜鸟错误吗?