问题标签 [carrierwave]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - 载波裁剪
我有一个 CarrierWave ImageUploader,它创建了几个版本的原始图像,需要根据我的模型中的值(crop_x、crop_y、crop_w 和crop_h)进行裁剪。
我遇到的问题是,如果我们没有任何设置但我不知道将这个逻辑放在哪里,我需要计算一些默认的裁剪值。我尝试将它放在我的照片模型(上传器安装到)中的 before_validation 中,但这似乎是在裁剪函数执行后调用的。我在想它要么需要在 ImageUploader 文件中,要么需要在创建拇指之前发生的一些回调中。
ruby-on-rails-3 - Rails 应用程序中用于carrierwave gem 的谷歌存储的存储访问凭证
在我的 rails 3 应用程序中,我使用的是carrierwave gem(0.5.6 版)。我想为开发人员使用 Google Storage 来存储上传的文件。我创建了一个如下所示的初始化程序:
我收到 403 禁止消息
我刚刚使用 apis-console 启用了我的 Google Storage,我可以使用在线“Google Storage Manager”上传文件。对于上面初始化程序文件中的“google_storage_access_key_id”,我在“存储访问”页面中为“您”使用了“Google 存储 ID”。对于“google_storage_secret_access_key”,我使用的是“旧版存储访问密钥”。
我不知道该怎么做。有人可以指点我如何调试这个问题吗?
谢谢, 萨克沙姆
ruby-on-rails-3 - 载波错误
我收到如下所示的错误:
在我点击提交注册后。我正在使用 Carrierwave 并已按照步骤使用它,但仍然有错误。
ruby-on-rails-3 - CarrierWave Resize Image 不显示
当我上传并注册时,图像会覆盖整个页面。当我尝试按照 Carrierwave 使用拇指的说明更改图像设置时,新页面仅显示文本 Thumb_picture_5。并且没有图像。
这是终端错误:
ruby-on-rails-3 - 使用 rails 3.1 时设置默认 URL?
我认为新的资产管道正在搞乱 CarrierWave 默认方法。我有我想用作存储为默认图像的文件app/assets/images/listing_defaults/default.png
。
在我的上传器中,我有以下内容
当我运行我的应用程序时,可以在该地址浏览图像 ( localhost:3000/assets/listing_defaults/default.png
)
但是由于某种原因,当我尝试让默认图像显示在我的视图中时,我什么也得不到。
然而上传的文件似乎工作正常。有任何想法吗?
顺便说一句,我尝试将我的 default_url 设置为以下,但没有成功。
ruby-on-rails-3 - carrierwave throws "stack level too deep" error on file upload
i have a weired problem and don't now how to debug further...
if i upload an file with my html form i get:
the trace is:
analysing the trace, it seems that the file is uploaded and written to the DB:
but after that it throws the error....
testing carrierwave in the rails console:
works fine!
well, i have a file upload @ another model, so the carrierwave installation works fine (similar uploader).
testing the html form without the file filed, it works fine!
so:
- Form works without file field
- carrierwave file upload works in the console
- different model, similar carrierwave uploader/config => works!
how can i debug further ?
thanks for any help!
Rails 3.0.7/ruby-1.9.2-p180/carrierwave (0.5.3)
EDIT: seems that it happens only on the update action.
controller:
ruby-on-rails - Ruby 块语法错误
可能重复:
Ruby 块和未加括号的参数
我不确定我是否理解这个语法错误。我正在使用 Carrierwave 管理 Rails 应用程序中的一些文件上传,我似乎错误地将块传递给其中一种方法。
这是Carrierwave Docs中的示例:
这是我所拥有的:
以上不起作用,我明白了syntax error, unexpected '}', expecting keyword_end
。有趣的是,以下工作完美:
所以,我的问题是,为什么do...end
在这种情况下我可以使用而不是大括号传递一个块?
谢谢!
ruby-on-rails - 用于在多个文件上传中做相册的 Rails 示例应用程序或插件/宝石?
我想知道是否有任何 Rails 示例应用程序或插件/宝石用于在多个文件上传中制作相册?它可以具有基本功能,例如创建/编辑包含多个文件上传的相册。
ruby-on-rails - CarrierWave:为所有版本化文件创建相同的唯一文件名
在我详细介绍之前,我要直截了当:有没有人想出一种方法让 Carrierwave 将文件保存为时间戳或每个文件唯一的任意字符串?
默认情况下,Carrierwave 将每个文件及其替代版本保存在其自己的目录中(以型号 ID 号命名)。我不喜欢这个,因为不是一个有 1,000 个的目录,而是为了使用大整数,文件(在我的例子中是图片)在其中我们得到一个有 1,000 个子目录的目录,每个子目录有一个或两个文件。呸。
现在,当您将 Uploader 的store_dir
方法覆盖为如下所示时:
你最终得到了我想要的确切行为。所有文件(图片)都进入一个快乐的大文件夹。当对象被删除时,没有更多的子文件夹存在。
只有一个问题。文件冲突。如果你上传了两次delicious_cake.jpg,第二个将覆盖第一个,即使它们是两张不同的美味蛋糕图片!这就是为什么该store_dir
方法在/#{model.id}
它返回的值的末尾加上了额外的原因。
那么该怎么办?在阅读了一下之后,我发现在生成的上传文件中有一个明显的解决方案被注释掉了。
经过一番搜索,我发现有人做了以下事情
这让我想,为什么不这样做
就在那时,事情变得非常糟糕。这样做的问题是,filename
显然每个版本的文件都会被调用,所以我们最终会得到像 1312335603175322.jpg 和 thumb_1312335603195323.jpg 这样的文件名。注意到细微的差别了吗?每个文件名都基于filename
该特定版本的调用时间。那根本行不通。
我接下来厌倦了使用model.created_at
时间戳的基础。只有一个问题,第一个版本返回 nil,因为它还没有被放入数据库。
经过进一步思考,我决定在我的图片控制器中尝试以下操作。
这会在 Carrierwave 到达之前覆盖 original_filename 属性,使其成为时间戳。它正是我想要的。文件的原始版本以 1312332906940106.jpg 之类的名称结束,而缩略图版本(或任何其他版本)以 thumb_1312332906940106.jpg 之类的名称结束。
但是,这似乎是一个可怕的黑客攻击。这应该是模型的一部分,或者更好的是安装在模型上的上传器的一部分。
所以,我的问题是,有没有更好的方法来实现这一目标?我是否错过了一些重要的 Carrierwave 使这变得容易?有没有一种不那么明显但更清洁的方式来解决这个问题?工作代码很好,但不难闻的工作代码更好。
ruby-on-rails - 通过 Carrierwave 配置环境以在 Amazon S3 上使用不同的存储路径
我想在我的 S3 存储桶中有不同的文件夹,以使生产数据库远离开发环境。我不知道该怎么做,这是我在载波初始化程序中提出的骨架: