目前发生的事情是表单重置后表单输入丢失。因此,例如,如果某人未填写必填字段,则表单将重新加载,并且之前输入的所有数据都将消失。
如何防止这种情况发生?
我希望在页面重新加载时将所有已输入的数据保留在表单上。
我发现了这个question我认为这是我需要的,但我不太明白。
答案 0 :(得分:0)
以下是create
操作的典型结构:
@thing = Thing.new(thing_params)
if @thing.save
redirect_to @thing
else
render `new`
end
如果save
成功,则会启动针对刚刚保存的记录show
链接的新请求,该请求会调用show
操作。另一方面,如果save
失败,则对客户端的响应将是new
视图的呈现,但不会调用另一个操作。当前create
操作调用的数据用于呈现该视图。由于此时客户提交的表单数据仍包含在@thing
中,因此表单将使用他们提交的任何数据进行呈现。
答案 1 :(得分:0)
另一个选项(大多数用户可能更喜欢)是在用户提交表单之前在客户端验证您的数据。
查看this RailsCast了解详情。