Tag: carrierwave

Turbaroinks与载波图像作为CSS背景图像

我一直在使用turbolinks,但最近我得到了这个烦人的bug。 通过carrierwave上传的图像在第一个请求中以绝对URL加载到站点中,但是当您通过turbolinks开始在站点中浏览时,所有载波图像都会更改为相对路径。 元素工作正常,但图像作为CSS背景图像加载,它们不会出现。这显然只发生在chrome(我有Versión31.0.1650.57m)。我做了一个跟踪通过控制台和所有图像都加载到文档中,所以我去了Inspector并禁用/启用了特定元素的属性’background-image’并且发生了魔法:图像出现了。 我正在使用rails 3.2.14,带有turbolinks: gem ‘turbolinks’, ‘1.3.1’ gem ‘jquery-turbolinks’, ‘2.0.1’ 我已经在Firefox 25.0.1上测试了它,它运行正常。 有什么建议吗? 谢谢

从WickedPDF获取PDF以通过Carrierwave进行附件

在Rails3中,我使用WickedPDF gem来渲染我的一个模型的PDF格式。 这工作正常: /invoices/123返回HTML, /invoices/123 /invoices/123.pdf下载PDF。 在我的发票模型中,我使用state_machine gem来跟踪发票状态。 当发票从“未开单”状态变为“开票”状态时,我想获取发票PDF的副本并使用CarrierWave将其附加到发票模型。 我将这三个部分分开工作:控制器创建PDF视图,模型跟踪状态并在进行正确转换时触发回调,并正确设置CarrierWave。 但是,我有一段时间让他们一起玩得很好。 如果我只是想获取发票的HTML版本,我可以从模型中调用render_to_string 。 但是render_to_string似乎在接收PDF二进制文件时窒息。 如果我可以获得数据流,那么将这些数据写入临时文件并将其附加到上传器非常容易,但我无法弄清楚如何获取数据流。 有什么想法吗? 代码如下: 发票控制器 def show @invoice = @agg_class.find(params[:id]) respond_to do |format| format.pdf do render_pdf end format.html # show.html.erb format.json { render json: @aggregation } end end … def render_pdf(options = {}) options[:pdf] = pdf_filename options[:layout] = ‘pdf.html’ options[:page_size] = ‘Letter’ […]

RMagick抱怨在OSX中找不到libMagickCore.5.dylib

在运行brew upgrade imagemagick ,当我运行rails s我会得到 /Users/tomi/.rvm/gems/ruby-2.0.0-p247@ezaaa/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in `require’: dlopen(/Users/tomi/.rvm/gems/ruby-2.0.0-p247@ezaaa/gems/rmagick-2.13.2/lib/RMagick2.bundle, 9): Library not loaded: /usr/local/lib/libMagickCore.5.dylib (LoadError) Referenced from: /Users/tomi/.rvm/gems/ruby-2.0.0-p247@ezaaa/gems/rmagick-2.13.2/lib/RMagick2.bundle Reason: image not found – /Users/tomi/.rvm/gems/ruby-2.0.0-p247@ezaaa/gems/rmagick-2.13.2/lib/RMagick2.bundle 我正在使用带有RMagick的Carrierwave gem,OS是OSX Moutain Lion

使用Carrierwave直接上传到S3

我最近将以下内容从使用Paperclip转换为Carrierwave上传到Amazon S3,因此我可以使用carrierwave_direct gem,然后使用Sidekiq或其他后台处理gem。 class Release :destroy has_many :tracks, :through => :releases_tracks, :order => “releases_tracks.position DESC” accepts_nested_attributes_for :tracks, :reject_if => lambda { |a| a[:name].blank? }, :allow_destroy => :true accepts_nested_attributes_for :releases_tracks end class Track :destroy has_many :releases, :through => :releases_tracks end /views/releases/track_upload.html.erb { :multipart => true }) do |f| %> Upload Tracks for “file styled”, :title => […]

使用Carrierwave在Heroku上载大文件

我即将开始一个业余爱好项目,我将向S3上传大量文件。 有些文件大50-100MB。 我想使用Heroku,但如果需要,可以使用EC2。 Heroku + Carrierwave + S3会为此工作吗? 或者文件上传有限制吗? 如果是这样,什么是一个好的选择? 如果有任何很酷的上传库,如uploadify但没有闪存,也很好奇。 谢谢!

Papertrail和Carrierwave

我有一个使用两者的模型:Carrierwave用于商店照片,PaperTrail用于版本控制。 我还使用config.remove_previously_stored_files_after_update = false在更新时(因为我想对照片进行版本控制)配置Carrierwave用于存储不同的文件 问题是PaperTrail试图从照片(CarrierWave Uploader)存储整个Ruby对象而不是简单的字符串(这将是它的url) (版本表,列对象) — first_name: Foo last_name: Bar photo: !ruby/object:PhotoUploader model: !ruby/object:Bla attributes: id: 2 first_name: Foo1 segundo_nombre: ‘Bar1’ …….. 如何修复此问题以在照片版本中存储简单的字符串?

如何将CarrierWave文件迁移到新的存储机制?

我有一个Ruby on Rails站点,其中模型使用CarrierWave进行文件处理,目前使用的是本地存储。 我想开始使用云存储,我需要将现有的本地文件迁移到云端。 我想知道是否有人可以指出这样做的方法? 使用模型属性的加分点,允许我在后台逐行执行此操作,而不会中断我的站点以延长停机时间(换句话说,某些模型行仍然具有本地存储,而其他模型行则使用云存储)。 我的第一直觉是为每个使用云存储的模型创建一个新的上传器,所以我在每个模型上有两个上传器,然后将文件从一个传输到另一个,设置一个属性来指示应该使用哪个文件,直到它们全部转移,然后删除旧的上传者。 这似乎有点过分。

如何更新/重命名carrierwave上传的文件?

我无法弄清楚如何在rails 3.2.6中更新/重命名使用Carrierwave-mongoid上传/管理的文件。 我想重命名数据库中的文件以及文件系统。 这样的事可能…… def rename( id , new_name ) f = UploadedFile.find(id) if f.update_attributes({ f.file.original_filename: new_name }) # this is WRONG, what is right??? new_path = File.join( File.dirname( f.file.current_path ) , new_name )) FileUtils.mv( f.file.current_path , new_path ) end return f end 让我添加它是在它已经上传之后。

Rails 3测试夹具与carrierwave?

我正在努力从attachment_fu升级到carrierwave,因为attachment_fu在rails 3中被破坏了。 没有一个测试能够运行,因为我们有无效的灯具使用attachment_fu的语法来附件文件。 例如,我们有一个Post模型,它有一个PostAttachment。 以下是PostAttachment夹具中的数据: a_image: post_id: 1 attachment_file: /test/files/test.png 这是我得到的错误: ActiveRecord::StatementInvalid: PGError: ERROR: column “attachment_file” of relation “post_attachments” does not exist LINE 1: INSERT INTO “post_attachments” (“post_id”, “attachment_file”… attachment_file将拾取attachment_file,它将处理为模型创建attachment_fu附件的所有处理。 有没有办法在灯具中有图像附件,但是使用CarrierWave代替?

将base64图像转换为Carrierwave的StringIO

我希望有人能帮助我理解这一点。 我有一个图像的base64字符串: “data:image/jpeg;base64,/9j/4AAQSkZJRgABA…” 我想使用ember的createRecord和commit()发送它: this.get(‘store’).createRecord(Emb.Painting, {name: newName, image: newImage}); 然后我想将它转换为StringIO for carrierwave并保存它: StringIO.class_eval { def original_filename; “stringiohaxx.jpg”; end } io = StringIO.new(Base64.decode64(params[:painting][:image])) @painting = Painting.create(:name => params[:painting][:name], :image => io ) 图像已保存。 图像总是被破坏。 我是否需要将我的base64字符串分解为: data: ‘/9j/..’ type: ‘image/jpeg’ ? 任何帮助赞赏。