我的控制器是:
class ContactController < ApplicationController
def contact_us
@cntus = params[:post]
if @cntus != nil
@msg="Success"
end
end
end
现在,当用户输入无效数据或电子邮件验证失败时,数据必须以用户输入的形式存在。
当new
(或edit
,如果是更新)操作失败时,您需要呈现它。
@cntus = params[:post]
if @cntus != nil # check @cntus.save instead (it will validate and save)
@msg="Success"
else
render action: :new
end
确保您的表单是为@cntus
定义的
此外,您可以在视图中显示错误(导致保存困难的原因),如下所示:它应该在form_for
内部
<% if @cntus.errors.any? %>
<div>
<p>
<%= pluralize(@cntus.errors.count, "error") %>
</br>
<%= formatted_error_messages(@cntus) %>
</p>
</div>
<% end %>
希望它能有所帮助!