1

在我使用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 中呈现一些东西,但是它不会显示在表单上。

我应该改变它的呈现方式吗?

4

0 回答 0