Rails 3:使用jQuery-File-Upload后,表单验证不起作用

时间:2013-02-05 17:26:23

标签: ruby-on-rails

我使用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中呈现内容,但它不会显示在表单上。

我应该改变渲染方式吗?

0 个答案:

没有答案