【问题标题】:Rails, Uploading multiple Files to an AlbumRails,将多个文件上传到相册
【发布时间】:2010-10-23 04:59:19
【问题描述】:

好吧,这个有点棘手 - 不要回避!

我已经使用 Rails 3 + 回形针 + Ajax 上传设置了一个多文件上传器 (http://valums.com/ajax-upload/)

我的控制器如下(有效):

  def upload
    @photoalbum = PhotoAlbum.create
    @photo = @photoalbum.photos.create({ :photo => params[:file], :title =>  params[:filename], :description => "Uploaded on #{Date.today.strftime("%b %d, %Y")}" })

    respond_to do |format|
      format.json
    end
  end

这里的大问题。就是如果一个用户上传了 3 个文件,他们都会去单独的相册。 Rails 上传了 3 个文件,每个文件都有自己唯一添加的专辑。

这很糟糕。我需要将批量上传的所有文件转到它自己的相册..

关于如何解决这个问题的任何想法?

在 AJAX 上传中可以传递参数。我考虑过传递一个相册 ID,问题是这会导致很多空白相册,因为用户并不总是上传照片。

天才想要!谢谢

【问题讨论】:

  • 如果问题不清楚,请告诉我 急需解决这个问题。谢谢
  • 如果您包含上传文件时获得的实际参数哈希(显然来自您的日志),这可能会有所帮助。

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-plugins paperclip


【解决方案1】:

我同意之前的评论者。您应该发布您的 params 哈希和更多代码,但是...解决它的一种方法是尝试使用 ajax 回调(jQuery 在每个 ajax 调用上传回一个回调,我认为大多数其他库也一样) 以上传序列中的下一张照片。我想它会是这样的:

  1. 用户上传了 3 张照片。
  2. Rails 处理第一个上传,然后发送回调以查找更多内容。此回调将包括它刚刚上传第一张照片的相册的相册 ID。如果没有上传照片,则不会调用上传操作,因此不会创建相册。
  3. Rails 使用回调相册 ID 上传第二张图片,以了解第二张照片的放置位置。
  4. 过程会重复,直到所有照片都上传完毕。

正如我所说,如果您发布更多代码,给出更全面的答案会容易得多。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-26
    • 2011-11-06
    • 2012-09-20
    • 1970-01-01
    • 2016-11-12
    相关资源
    最近更新 更多