我使用blueimp中的jQuery-File-Upload后,表单验证错误消息在我的页面中消失。它反过来给我一个上传错误消息。
我认为它可能被Query-File-Upload覆盖。
这是_form.html.erb
中的代码:
<%= form_for @upload, :html => { :multipart => true, :id => "fileupload" } do |f| %>
<% if @upload.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@upload.errors.count, "error") %> prohibited this from being saved:</h2>
<ul>
<% @upload.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
.....
如何将验证消息带回来?
更新
我发现实际生成了验证错误消息,但文件上传插件会以某种方式阻止它显示。
最可疑的部分是uploads_controller
中的代码:
def create
@upload = Upload.new(params[:upload])
respond_to do |format|
if @upload.save
format.html { render :json => [@upload.to_jq_upload].to_json, :content_type => 'text/html',:layout => false }
format.json { render json: [@upload.to_jq_upload].to_json, status: :created, location: @upload }
else
format.html { render action: "new" }
format.json { render json: @upload.errors, status: :unprocessable_entity}
end
end
end
当验证失败时,它进入else
语句并在json中呈现内容,但它不会显示在表单上。
我应该改变渲染方式吗?