我想在rails3中与蜻蜓多图像上传。我搜索了一些教程,但找不到任何。我发现有Carrierwave多图片上传的教程,但无法找到与蜻蜓运气..任何帮助,请:)与蜻蜓多图像上传
与蜻蜓多图像上传
回答
前言
Dragonfly本身可以用来管理媒体在一般项目中,类似于paperclip 。这个问题本身归结为一个rails应用程序中的多个文件上传。有关这个主题的一些教程可用,它可以很容易地适用于使用Dragonfly在其上存储特定文件的模型。我建议你看看这些,并尝试适应你的项目。但是,我可以展示一个我为当前正在开发的rails 3.2应用程序构建的最低示例,它并非完美(例如验证处理),但可以给出一些出发点。
例只是为了参考,基本思想是从here服用。这个例子是用Rails 3.2.x完成的。
假设您有度假数据库,用户可以在其中创建休假报告。他们可能会留下一些小的描述以及一些照片。
通过建立对旅行的简单的基于ActiveRecord的模型开始了,让我们只是把它Trip
现在:
class Trip < ActiveRecord::Base
has_many :trip_images
attr_accessible :description, :trip_images
end
正如你可以看到,该模型已经通过has_many
协会连接到它的行程图像。让我们来简单看一下TripImage
模型,它采用蜻蜓具有存储在内容领域的文件:
class TripImage < ActiveRecord::Base
attr_accessible :content, :trip_id
belongs_to :trip_id
image_accessor :content
end
跳闸图像它的自我保存文件附件。您可以在此模型中放置任何约束,例如文件大小或MIME类型。
让我们创建一个TripController
具有new
和create
行动(你可以,如果你想通过脚手架生成此,它是迄今为止没有任何幻想):
class TripController < ApplicationController
def new
@trip = Trip.new
end
def create
@trip = Trip.new(params[:template])
#create the images from the params
unless params[:images].nil?
params[:images].each do |image|
@trip.trip_images << TripImages.create(:content => image)
end
if @trip.save
[...]
end
end
这里没有什么特别,与创建例外来自另一个条目的图像比params
哈希。这在文件上传领域new.html.erb
模板文件中寻找时才有意义(或您使用的Trip
模型的字段部分):
[...]
<%= f.file_field :trip_images, :name => 'images[]', :multiple => true %>
[...]
这应该在目前的工作,但是,也有现在没有限制这个权利的图像。您可以在Trip
模型通过custom validator限制在服务器端的图像数量:
class Trip < ActiveRecord::Base
has_many :trip_images
attr_accessible :description, :trip_images
validate :image_count_in_bounds, :on => :create
protected
def image_count_in_bounds
return if trip_images.blank?
errors.add("Only 10 images are allowed!") if trip_images.length > 10
end
end
我离开这个给你,但你也可以对文件中的字段使用客户端验证,一般的想法会是在改变文件字段(CoffeeScript中),以检查文件:
jQuery ->
$('#file_field_id').change() ->
#disable the form
for file in this.files
#check each file
#enable the form
摘要
你可以建立很多从现有的教程,如蜻蜓不表现不同的方式对其他解决方案时,它来到只是上传文件。但是,如果你想要更有趣的东西,我建议jQuery Fileupload,就像我之前的其他人一样。
无论如何,我希望我能提供一些见解。
LG,
FLO
- 1. 蜻蜓添加图像Model.save
- 2. 使用UIImagePickerController将图像上传到蜻蜓的导轨上
- 3. Rails:如何保护使用蜻蜓上传到S3的图像
- 4. 用蜻蜓保存TinyMCE Base64图像
- 5. 用蜻蜓从URL分配图像
- 6. 蜻蜓:许多开放库
- 7. 蜻蜓问题
- 8. 如何找到蜻蜓与黄瓜/水豚产生的图像?
- 9. 在Postgres DB商店中存储图像RefineryCMS与蜻蜓
- 10. 蜻蜓虫领事
- 11. Maven蜻蜓错误
- 12. 蜻蜓 - 已上传的图片不显示
- 13. 蜻蜓图像和http访问显示图像
- 14. 蜻蜓宝石与ImageMagick和乘客
- 15. 歌剧蜻蜓与萤火虫
- 16. 在蜻蜓上获取JMS队列ObjectName
- 17. 蜻蜓宝石 - 默认图片?
- 18. Ruby on Rails的蜻蜓
- 19. Jboss蜻蜓resteasy升级
- 20. 使用DataSource配置蜻蜓
- 21. 蜻蜓JNDI查找AuthenticationManager
- 22. 跟踪到Opera蜻蜓
- 23. 蜻蜓热部署太慢
- 24. HTTPS重定向蜻蜓Undertow
- 25. Opera的蜻蜓生成xpath
- 26. 蜻蜓和短网址
- 27. 蜻蜓域模式调试
- 28. 蜻蜓缓存位置
- 29. 蜻蜓群集和Apache2
- 30. Rails中的蜻蜓宝石图像的重复记录