问题标签 [shrine]
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 - Shrine - 使用 Cloudfront 的派生端点和完整路径 URL
我正在使用带有 Rails 的 Shrine 将我的图像直接上传到 S3,然后使用 Cloudfront 提供它们。
我的设置运行良好,但我一直试图回答 2 个问题:
1) 用户通过 Uppy 上传新图片。他们单击“创建图像页面”,这将创建一个新的“页面”对象。用户被带到一个空白页面,而图像衍生品正在使用 Sidekiq 在后台进程中创建。一旦成功创建衍生产品并提升到 /store,我们如何通过 JS 将图像“弹出”?是否有我们可以接受的回调,或者是否可以继续尝试通过 JS 找到导数,直到它存在?
2) 使用 Derivatives Endpoint 插件,所有图像 URL 都是相对的。有没有办法将其作为来自 Cloudfront/自定义域的绝对 URL?下面是一个使用 Rails 的例子:
红宝石代码:
生成的 HTML:
我如何才能提供此结果 URL:
这是为了防止 DoS 吗?谢谢。
将主机选项添加到“derivation_endpoint”会导致以下错误以 XML 形式返回:
这可能是我的 Cloudfront 访问设置吗?也许是 CORS。
这是我在image_uploader.rb中的 derivation_endpoint 设置
路线.rb
config/initializers/Shrine.rb
ruby-on-rails - 我可以将 Shrine 上传凭据添加到模型中吗
我有一个基于 Rails 5 的多租户站点,每个租户都添加了自己的 s3 凭据,因此,在其租户站点上发生的任何上传都会上传到他们自己的 s3 帐户。
我目前遇到的问题是 Shrine 似乎只允许我在初始化程序中添加 s3 凭据。这很好用,但我想将它添加到模型中,以便我可以根据当时使用的租户动态填充 s3 凭据。有谁知道无论如何神社可以帮助我吗?
我设法用回形针做到了这一点,但它带来了其他问题,例如后台处理等。
ruby-on-rails - 如何使用 Shrine RemoteUrl 插件绕过 SSL 验证
我在 Rails 应用程序中使用 Shrine RemoteUrl 插件从远程站点获取一些文件(pdf)。这个站点有一个旧的 https 证书,我遇到了一些这样的错误:
我无法修改远程站点的 conf,所以我认为我需要绕过 SSL 验证。但是找不到办法。
我正在尝试在 Shrine 初始化程序文件中执行此操作,但我不知道如何将正确的选项传递给 Down::Http。Down::Http 后端使用 http.rb gem 实现下载(您可以使用它禁用证书验证)
非常感谢任何帮助。谢谢!
ruby-on-rails - 获取“不允许的参数::照片”
我在使用 Shrine 的 Rails 6 上,我试图让用户上传多张照片。我想在属性页面上上传多张照片。我的问题是我得到“未经许可的参数:照片”
我正在关注此人的示例并使用本指南进行上传。我在这里做错了什么?
我在用着 -
gem "uppy-s3_multipart", "~> 0.3"
错误正在返回
NoMethodError (undefined method `image_data' for # Did you mean? image_attacher):
property_controller.rb
照片.rb
属性.rb
属性/_form.html.erb
初始化/shrine.rb
图式
日志
ruby-on-rails - 我可以在 Ruby On Rails 应用程序中运行两个上传器吗
我有一个运行 Shrine 作为图像和文档上传器的 Ruby On Rails 应用程序(Ruby 2.3.8 Rails 4.2.7.1)。我想与使用 Carrierwave 作为上传器的图像处理公司 Cloudinary 进行集成。我是否需要重新编写整个代码来运行 Carrierwave 或者我可以在同一个堆栈中运行两个上传器(执行不同的任务)?
ruby-on-rails - 不允许的参数::photos_attributes
我想以嵌套形式使用神社宝石,但发生了
不允许的参数::photos_attributes
如何解决?我尝试了一些方法,即
和
等等,但我无法解决这个错误是怎么回事?请告诉我如何解决它
强参数
博客表单.rb
发送参数
博客.rb
照片.rb
上传者.rb
神社.rb
blogs_controller
我可以解决这个问题,相反,我无法合并 user_id 然后发生 ActiveRecord::RecordNotFound (找不到没有 ID 的用户):
也许我可以发送参数
所以错误是形成对象的属性
我上传了 blog_form.rb
不行,我到了(byebug)params[:user_id] *** NameError Exception: undefined local variable or method `params' for #
零
我改变了 user_id 而不是 params[:user_id] 所以
创造
Blog_form
blog_form_params
Somwhow 我可以发送一个 user_id,我很欣赏 Fernand,Amit Patel,我在视图字段中使用 hidden_field 而不是合并方法
ruby-on-rails - ActionView::Template::Error (undefined method `image_url' for #)
我在表单对象中使用神社 gem,我想剪辑图像,所以,我跟着https://github.com/shrinerb/shrine/wiki/Image-Cropping,但是,发生了上面的错误,我认为它似乎是不认识照片模型
意见
image_uploader
神社.rb
裁剪框.js
文件上传.js
促进工作.rb
销毁作业.rb
路由.rb
blog_form.rb
控制器
谢谢你,janko-m,arieljuod 我重写了视图,然后发生了新错误
前
后
环境轨道 6.0.2 红宝石 2.5.3
ruby-on-rails - 如何在 rails.6.0.2 中使用cropperjs
我用神社 gem 实现了cropper js,我参考https://github.com/shrinerb/shrine/wiki/Image-Cropping,这段代码https://github.com/shrinerb/shrine-crop-example/,但是不行,不出现错误,为什么cropper js不行?
应用程序.html.erb
应用程序.js
裁剪框.js
文件上传.js
form.html.erb
应用程序.scss
这里是调用 response.uploadURL
应用程序.js
文件上传.js
我认为 uppy 没有找到选择器,因此无法裁剪,因此我添加了类和 id 选择器,但裁剪仍然不起作用
form_views
ruby-on-rails - 神社新手。缓存有什么用?
我目前正在使用 Shrine 将文件上传到 DigitalOcean(通过 s3 sdk)。它工作得很好,很完美。但是,在指南中有一个存储选项来制作上传的临时副本,由“缓存”前缀指定。
这个缓存是如何使用的?或者,换句话说,它提供了哪些功能?
由于我完全不知道它的用途,目前我所看到的只是我在我的空间(存储桶)资源中上传的副本。这些文件是否被处理掉了?
最后,如果缓存文件是用于数据检索的目的,那么制作本地缓存而不是将其发送到 S3 资源是否有意义?
如果所有这些都是常识,我很抱歉,当我急于实施它时,我似乎并不清楚。
javascript - 未找到模块:错误:无法解析“cropbox”2
我问了问题 Module not found: Error: Can't resolve 'cropbox'
但我没有得到答案,所以我必须专注于更具体的问题并在 StackOverflow 中搜索,
所以我得到三个问题
1 rails 不加载cropbox.js
2 clopbox.js 无法导出cropbox 功能
3 fileUplod.js 无法导入cropbox 功能
这就是上述问题之一的结果
application.html.erb 的一部分:
结果,我故意不编译 fileUpload,rails 可以加载 clopbox.js 所以,我缩小了 2 个问题
有人愿意告诉我这些问题吗?
环境:
导轨 6.0.2 红宝石 2.5.3
应用程序/javascript/packs/fileUpload.js:
webpacker.yml:
应用程序/javascript/packs/cropbox.js:
form.html.erb
日志: