在我使用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 中呈现一些东西,但是它不会显示在表单上。
我应该改变它的呈现方式吗?