我在我的Rails应用中有联系表单。如果表单未成功提交,我希望表单显示用户以前输入的内容。我猜想我应该使用会话先包含所有旧输入,不知道我是否正确。Rails:在提交失败后显示以前输入的联系表格
接下来的问题是,如何在页面刷新后让旧的输入显示在联系表单上?
这是我在我的控制文件中的代码:
def createMessage
@message = Message.new(message_params)
if @message.valid?
MessageMailer.new_message(@message).deliver
flash[:success] = "Thank you."
redirect_to root_path
else
session[:message_error] = @message
flash[:danger] = "An error occurred while delivering this message."
redirect_to root_path
@message = session[:message_error]
end
end
这是我的形式布局:
<%= form_for @message, url: root_path do |message_form| %>
<div class="form-inline">
<%= message_form.text_field :first_name, :class => 'form-control', placeholder: "First Name*" %>
<%= message_form.text_field :last_name, :class => 'form-control', placeholder: "Last Name*" %>
</div>
<div class="form-inline">
<%= message_form.text_field :business_title, :class => 'form-control', placeholder: "Business Title" %>
<%= message_form.text_field :business_name, :class => 'form-control', placeholder: "Business Name" %>
</div>
<div class="form-inline">
<%= message_form.text_field :phone, :class => 'form-control', placeholder: "Phone*" %>
<%= message_form.email_field :email, :class => 'form-control', placeholder: "Email*"%>
</div>
<div class="form-group">
<%= message_form.text_field :street_address, :class => 'form-control', placeholder: "Street Address*" %>
</div>
<div class="form-group">
<div class="input-group">
<div class="input-group-addon">Singapore</div>
<%= message_form.text_field :postal_code, :class => 'form-control', placeholder: "Postal Code*" %>
</div>
</div>
<div class="form-group">
<%= message_form.text_area :content, :class => 'form-control', placeholder: "Additional information"%>
</div>
<div class="form-group">
<%= message_form.submit "submit", :class => 'btn btn-default' %>
</div>
预先感谢您。