Ruby on rails 为什么我的所有文件字段输入在iPad上都被禁用

Ruby on rails 为什么我的所有文件字段输入在iPad上都被禁用,ruby-on-rails,ipad,ruby-on-rails-4,turbolinks,Ruby On Rails,Ipad,Ruby On Rails 4,Turbolinks,在我的rails 4应用程序中,我有一个带有两个文件字段输入的表单,可以上传到S3: <form accept-charset="UTF-8" action="/projects" class="new_project" enctype="multipart/form-data" id="new_project" method="post"> <input id="project_videos_attributes_0_poster" name="project[vide

在我的rails 4应用程序中,我有一个带有两个文件字段输入的表单,可以上传到S3:

<form accept-charset="UTF-8" action="/projects" class="new_project" enctype="multipart/form-data" id="new_project" method="post">

  <input id="project_videos_attributes_0_poster" name="project[videos_attributes][0][poster]" type="file">

  ....

  <input class="js-s3_file_field" data-acl="public-read" id="project_gifts_attributes_0_file" name="project[gifts_attributes][0][file]" type="file">

</form>

真奇怪。我也看不懂iPad上的HTML代码,这就是为什么这很难解决的原因。在Linux、Windows、Mac和Android上一切都很好。但不能为iPhone担保。

iOS5不支持文件上传!!!!这不是bug,而是iOS5的“设计特性”

要修复此问题,请升级到iOS6,或下载一个允许您上传文件的应用程序

ready = ->
  $(".js-s3_file_field").each ->
    id = $(this).attr('id')
    $this = -> $("##{id}")
    $progress = $(this).siblings('.progress').hide()
    $meter = $progress.find('.meter')
    $(this).S3FileField
      add: (e, data) ->
        $progress.show()
        data.submit()
      done: (e, data) ->
        window.data = data.result
        $progress.hide()
        $this().attr(type: 'text', value: data.result.url, readonly: true)
      fail: (e, data) ->
        alert(data.failReason)
      progress: (e, data) ->
        progress = parseInt(data.loaded / data.total * 100, 10)
        $meter.css(width: "#{progress}%")

$(document).ready(ready)
$(document).on('page:load', ready)