Tag: 回形针

回形针输入和编辑操作中上传图像的预览

我正在使用paperclip和rails 4,并且多个图像上传工作正常。 但是,我想将其配置为允许上传最多3张图片,并仅显示上传图片的输入和预览。 如果我从3个可能的图像上传图像..然后转到编辑动作..它仍然显示3个上传输入元素而不是2.并且所有人都说“没有选择文件”这对用户不利。 用户可能会在认为他们正在添加新图像时替换该图像。 如何修改我的编辑操作或我的表单,以便对于已填充的资源 , choose file输入实际上显示上传的文件名而不是在先前已上载图像时No file chosen的No file chosen或根本不显示输入元素? 我的表单字段: Images Delete: 我的控制器动作: def new @post = Post.new 3.times { @post.assets.build } … end end def edit @post = Post.find(params[:id]) if @post.assets.count < 3 3.times { @post.assets.build } end end 模型: class Asset { :medium => “600×600>”, :small => “200×200>”, :thumb […]

Paperclip – nil的未定义方法`match’:NilClass

我是铁杆和ruby的新手。 我正在创建一个简单的应用程序,我可以上传照片。 我安装了paperclip gem,我正在尝试在我的模型中配置它以指定缩略图大小,如下所示: has_attached_file :photo, :styles => {:thumb => ‘120×120>’, :large => ‘640×480>’ }, :default_style => :thumb, :url => “/system/photos/:basename.:extension”, :path => “:rails_root/public/system/photos/:basename.:extension” 但是,我一直收到错误: undefined method `match’ for nil:NilClass 当我删除:styles参数时,一切都按预期工作。 任何人都可以解决一些问题并指出我正确的方向吗? 谢谢 编辑: 堆栈跟踪如下: C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/bundler/gems/paperclip-70f0f1fea030/lib/paperclip/content_type_detector.rb:60:in `type_from_file_command’ C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/bundler/gems/paperclip-70f0f1fea030/lib/paperclip/content_type_detector.rb:16:in `detect’ C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/bundler/gems/paperclip-70f0f1fea030/lib/paperclip/io_adapters/file_adapter.rb:14:in `cache_current_values’ C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/bundler/gems/paperclip-70f0f1fea030/lib/paperclip/io_adapters/file_adapter.rb:5:in `initialize’ C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/bundler/gems/paperclip-70f0f1fea030/lib/paperclip/io_adapters/registry.rb:29:in `new’ C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/bundler/gems/paperclip-70f0f1fea030/lib/paperclip/io_adapters/registry.rb:29:in `for’ C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/bundler/gems/paperclip-70f0f1fea030/lib/paperclip/attachment.rb:412:in `post_process_style’ C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/bundler/gems/paperclip-70f0f1fea030/lib/paperclip/attachment.rb:402:in `block in post_process_styles’ C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/bundler/gems/paperclip-70f0f1fea030/lib/paperclip/attachment.rb:401:in `each’ […]

将文件传递到后端的回形针

我正在使用paperclip将多个文件附加到Entry对象 Class Asset < ActiveRecord::Base belongs_to :entry has_attached_file :asset, … 当用户通过嵌套表单上传文件时,可以很好地工作。 但是,我有某些情况,不是通过输入表格而是通过闪存录音机上传文件。 音频被记录并异步上传到我的/ tmp文件夹。 所以我最终得到了我的服务器上的一些文件,这些文件还没有通过回形针上传。 在这些情况下,我想把文件传递给回形针进行处理,好像它是由用户通过输入表单上传的。 即我需要在控制器内以编程方式使用回形针。 你会如何实现这一目标? 非常感谢!

回形针错误:未初始化的常量Paperclip(NameError)

试图安装paperclip(cloudfiles fork),但收到错误: config/enviroments/development.rb:28:in ‘block in ‘: uninitialized constant Paperclip (NameError) 这就是我安装一切的方式。 的Gemfile: gem ‘cloudfiles’, ‘>=1.4.9’ gem ‘paperclip-cloudfiles’, ‘~>2.3’ 到config / environment.rb config.gem ‘paperclip-cloudfiles’, :lib => ‘paperclip’ 配置/ enviroments / development.rb Paperclip.options[:command_path] = “/ImageMagick/6.6.9-Q16/” #ImageMagick is at c:/ImageMagick/..

NoMethodError:未定义的方法`has_attached_file’

在检查插件的rails3分支后,Paperclip会产生此错误。 我的Gemfile有以下行: gem ‘paperclip’, :git => ‘http://github.com/thoughtbot/paperclip.git’, :branch => ‘rails3′ 并且错误消息是: NoMethodError: undefined method `has_attached_file’ for #

在Paperclip中更改错误validation消息

在回形针中设置validation消息时,例如 validates_attachment_presence, :image, :message => ‘xxxx’ 自定义消息自动以字段名称为前缀,即使它已被:message消息覆盖。 你如何完全覆盖消息并使其完全自定义? 编辑:错字

Rails,将文件上传到服务器时获取文件名

我正在使用Rails 3中的AJAX上传器以及paper_clip并在此处上传文件: def upload @photo = Photo.create({ :photo => params[:file], :title => params[:filename] }) respond_to do |format| format.json end end 我想将照片的标题设置为照片的文件名,但不知道如何,即使params [:file]确实有文件并且正在上传到S3。 有任何想法吗? 谢谢

Paperclip – 保存文件后运行方法?

我正在开发一个需要接受文件上传的项目。 上传文件后,我正在进行一些处理 – 从文件中提取信息。 我最终计划在后台工作程序中运行它,但它当前正在内联运行。 我已经尝试使用after_create和after_save来处理文件,但似乎我的方法在Paperclip的save方法之前运行 – 所以我的测试失败了“没有这样的文件或目录”。 有没有办法尽早触发save方法,或者在文件保存到文件系统后以某种方式运行我的方法?

paperclip从哪里获取原始文件的名称?

我开始使用nginx上传模块(创建上传文件,如/ tmp / 000121545)但我需要回形针在保存文件时使用原始文件名(如/public/avatars/LuckyLuke.jpg) 以前在参数Rails传递的只是 “avatar”=># 没有原始文件名,所以我想知道它在哪里来回形针? 我尝试通过插件代码查看,但它对我来说目前有点过于复杂。

如何将可变水印路径传递给回形针水印处理器?

我有水印,画廊和照片模型。 Gallery belongs_to Watermark Photo belongs_to Gallery class Photo [:watermark], :styles => { :thumbnail => [“80×80>”], :small => { :geometry => “200×200>”, :watermark_path => “#{gallery.watermark.image.path(:small)}”, :position => “Center” }, :medium => { :geometry => “400×400>”, :watermark_path => “#{gallery.watermark.image.path(:medium)}”, :position => “Center” }, :large => { :geometry => “600×600>”, :watermark_path => “#{gallery.watermark.image.path(:large)}”, :position => “Center” } […]