Tag: carrierwave

使用carrierwave以嵌套forms上传多个图像

我正在关注railscasts第381集 ,试图通过carrierwave gem和jQuery File上传允许多个图像上传到我的应用程序。 我的应用程序适用于大学项目,并设置了远程跟踪模型 ,该模型具有许多并接受图片模型的嵌套属性。 在我将file_field的多个选项设置为true并硬编码输入名称属性后,即 ,carrierwave停止工作,它没有像以前一样上传单个文件。 这可能与使用嵌套表单有关吗? 我也试过在我的应用程序中实现本教程而没有任何成功。 我也尝试将两个表单组成多个部分而不仅仅是父表单并删除我正在使用的simple_form gem。 我也尝试删除表单部分并将嵌套表单放在本地,但这没有帮助。 也许它与我如何将file_field设置为多个有关,因为这是问题的开始。 任何建议或替代方法都会受到赞赏 楷模 class Pic < ActiveRecord::Base belongs_to :hikingtrail attr_accessible :img_name, :image, :remote_image_url mount_uploader :image, ImageUploader end & class Hikingtrail true has_many :pics accepts_nested_attributes_for :pics, :allow_destroy => :true, :reject_if => proc { |attrs| attrs.all? { |k, v| v.blank? } } end 查看 […]

为什么carrierwave导致NameError:未初始化的常量Micropost :: PictureUploader错误?

在Hartl Rails教程第13.4.1章基本图像上传中,我们为图像上传添加了carrierwave gem。 但是,在生成上传器并将迁移添加到Microposts模型后,我在测试中不断出现此错误: NameError: uninitialized constant Micropost::PictureUploader 谷歌搜索后我能够通过添加到我的environments.rb来解决这个问题.rb: require ‘carrierwave/orm/activerecord’ 但我觉得我做错了,因为Hartl没有这样做,他假设在第13.4.1节末尾你的测试应该在重启服务器后通过。 我做错了吗? 更新: 将该行添加到我的environments.rb文件后,我的测试通过了。 然后,一旦他们通过,我能够删除该线,测试继续通过。 这就像一次初始化所需的常量。 我会说我在第一次运行测试之前忘记运行rails db:migrate ,但我继续删除测试数据库,重新创建它,然后运行迁移,重启服务器并且没有修复它。 对于出了什么问题仍感到困惑。

跳过carrierwave Integirty和Processingvalidation

我有白色列出了carrierwave上传器类中的一些扩展 def extension_white_list %w(doc docx) end 在某些情况下,我想在保存记录时跳过完整性validation。 但是根据他们的文档,默认情况下存在validates_integrity_ofvalidation。 https://github.com/carrierwaveuploader/carrierwave/wiki/How-to%3A-Validate-uploads-with-Active-Record 任何人都可以告诉我如何跳过这样的validation?

Rails 4,Carrierwave-aws,图像在本地上传到amazon s3但未投放到生产中(Openshift)

我在openshift上托管了一个Rails 4应用程序。 我正在使用carrierwave和carrierwave-aws gem处理图像上传。 当我在本地测试时,图像会按预期上传并显示给Amazon S3。 但是,在Openshift上托管的生产服务器上,图像将上传到“/ uploads / images”而不是亚马逊。 这是我的配置和Gemfile: gem ‘carrierwave’ gem ‘carrierwave-aws’ 在initializers / carrierwave.rb中 #config/initializers/carrierwave.rb CarrierWave.configure do |config| config.storage = :aws config.aws_bucket = ‘mybucketname’ config.aws_acl = :public_read config.asset_host = ‘https://mybucketname.s3-us-west-1.amazonaws.com’ config.aws_authenticated_url_expiration = 60 * 60 * 24 * 365 config.aws_credentials = { # Configuration for Amazon S3 :provider => ‘AWS’, :access_key_id […]

ffmpegvideo的条件旋转

我在使用Carrierwave-Video gem上传肖像video时遇到问题。 上传纵向video(特别是在移动设备上捕获的video)时,它们会顺时针旋转90度。 在Carrierwave-Video文档中,有一个动态配置选项,但我没有看到一种方法来动态传递自定义参数,以便根据video方向对video进行转码。 我知道如果我运行以下行,我可以将video旋转90度CCW: encode_video(:mp4, custom: “-vf transpose=1”) 但我需要一种可靠的方法来检测video是否需要旋转 。 我想知道是否有一些方法让我使用ffmpeg运行条件参数,只有在video是肖像时才运行。 如果它有用,这就是我的video上传器在我的Rails应用程序中的样子(出于某种原因,转码过程甚至在它检测到video的方向之前就已经运行了): require ‘carrierwave/processing/mime_types’ class VideoPathUploader video_width # rotate video Rails.logger.debug “portrait video” encode_video(:mp4, custom: “-vf transpose=1”, aspect: aspect_ratio) else encode_video(:mp4, aspect: aspect_ratio) end instance_variable_set(:@content_type, “video/mp4”) :set_content_type_mp4 end end

CarrierWave文件上传无法在rails中运行

我需要将图像上传到我的电影collections应用程序我使用carrierwave来执行此操作( 按照railscasts步骤 ) 步骤1我将gem’carrierwave’,’〜> 0.9’添加到我的Gemfile然后运行bundle步骤2 rails g uploader image然后rails g scaffold filmes name moviestype rake db step 3 rails g migration add_image_to_filmes image:string然后rake db 其他步骤与railscasts相同 在我的电影模型中 attr_accessible :name, :moviestype, :image mount_uploader :image, ImageUploader 在我的_form.html.erb中 {:multipart => true} do |f| %> prohibited this filme from being saved: 在show.html.erb中 Name: Moviestype: | 问题是它没有上传任何图像,但电影名称和其他字段正在插入db.how我能解决这个问题吗?需要快速帮助。

加载到Heroku时Carrierwave / fog / AWS问题“无法加载此类文件 – 雾”

所以我是一个新手,并通过Michael Hartl的rails教程。 在尝试使用carrierwave,fog-aws为S3 AWS配置图片上传时,我变得完全陷入困境。 当推送到heroku时,我收到以下错误: LoadError:无法加载此类文件 – 雾 作为旁注,我尝试在开发模式中使用完全相同的代码,rails服务器工作正常,我能够成功上传文件到AWS。 因此,这不是AWS的配置设置问题。 尝试将应用程序推送到Heroku时出现问题。 这是我的设置: gemfile source ‘https://rubygems.org’ gem ‘rails’, ‘5.1.4’ gem ‘bcrypt’, git: ‘https://github.com/codahale/bcrypt-ruby.git’, :require => ‘bcrypt’ gem ‘faker’, ‘1.7.3’ gem ‘carrierwave’, ‘1.0.0’ gem ‘fog-aws’, ‘2.0.0’ gem ‘mini_magick’, ‘4.7.0’ gem ‘nokogiri’, ‘1.8.1’ gem ‘will_paginate’, ‘3.1.6’ gem ‘bootstrap-will_paginate’, ‘1.0.0’ gem ‘bootstrap-sass’, ‘3.3.7’ gem ‘puma’, ‘3.9.1’ gem ‘sass-rails’, ‘5.0.6’ […]

使用Amazon S3配置Carrierwave,在Heroku上托管

我遵循了Carrierwave的部署说明,了解如何使用Amazon S3在Heroku上部署Rails应用程序: https://github.com/carrierwaveuploader/carrierwave/wiki/How-to%3A-Make-Carrierwave-work-on-Heroku 我已经将额外的行添加到config.ru并创建了config / initializers / carrierwave.rb文件,但没有成功。 下面是carrierwave初始化程序,其中包含密钥。 这是否正确设置? 我还需要做什么? 任何分步指南,以帮助我实现这一点? CarrierWave.configure do |config| config.fog_credentials = { :provider => ‘AWS’, # required :aws_access_key_id => REDACTED, # required :aws_secret_access_key => REDACTED, # required :region => ‘eu-west-1’, # optional, defaults to ‘us-east-1’ :host => ‘s3.example.com’, # optional, defaults to nil :endpoint => ‘https://s3.example.com:8080’ # optional, defaults […]

Rails从show动作下载文件?

我有一个上传器,允许您上传文件。 我想要做的是在您查看其show动作时触发文档下载。 url将是这样的: /documents/16 该文档可以是.txt或.doc。 到目前为止,我的show动作看起来像这样: def show @document = Document.find(params[:id]) respond_with(@document) do |format| format.html do render layout: false, text: @document.name end end end 我该如何实现这一目标?

Rails背景图片上传

我正在使用“carrierwave”gem来上传图像文件,还使用“carrierwave backgrounder”处理上传+在后台使用RMagick处理图像(我使用延迟作业)。 一切都像魅力一样。 除了一件事 – 我想上传图像并在上传表单下显示它们(因此,所有内容都发生在同一页面上)。 所以,基本上,会发生什么 – 因为上传和图像处理相对较慢,到发布后页面呈现时 – 图像本身还没有准备好:所以image_tag显示了破碎的“资产”链接(href =“资产”)。 等待2-3秒(几次刷新)后,图像出现在屏幕上。 所以,我的问题是 – 我可以以某种方式显示“ 加载 ”动画(或文本,或其他图片 – 无关紧要) 而不是破碎(尚未提供)的图像,并且一旦准备就绪 – 将图像显示到用户。 这可以在没有AJAX的情况下完成吗? 或者我应该考虑用AJAX重新做它? 对不起,长话故事。 希望对你有所帮助! 提前致谢! 🙂