我在我的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>
預先感謝您。