ActiveStorage充斥我的开发日志,所以我淹没在页面上的图像请求.有没有办法静音活动存储或至少减少日志条目,以便我可以再次使用我的日志?
例如,对于通过ActiveStorage访问的页面上的每个图像,我得到以下其中一个:
2018-09-03 11:07:42.181697 I [75455:70130232359340 log_subscriber.rb:12] (2.365ms) ActiveStorage::DiskController -- Completed #show -- {
:controller => "ActiveStorage::DiskController",
:action => "show",
:params => {
"content_type" => "image/jpeg",
"disposition" => "inline; filename=\"faded-flip.jpg\"; filename*=UTF-8''faded-flip.jpg",
"encoded_key" => "eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaEpJbk4yWVhKcFlXNTBjeTh6TnpRMVlqSmtZaTB3WlRCakxUUTVaRFV0WW1Ga01DMWxNRFl4TWpFd09Ua3dOMkl2TkdRME1qQTBNR1EzTjJaaE5UZ3pOVFU1WXpSbVpqaGlOVFpoWVdVd01ESmhabVJqWW1GaE5HTmxPRFV3WXpneU1UUmhPVEpsWlRVNVl6bGlPRGs0WVFZNkJrVlUiLCJleHAiOiIyMDE4LTA5LTAzVDEwOjEyOjMyLjUwN1oiLCJwdXIiOiJibG9iX2tleSJ9fQ==--b9eed7f4cf3d71fcb697429188e1a1a74ba88bec",
"filename" => "faded-flip"
},
:format => "JPEG",
:method => "GET",
:path => "/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaEpJbk4yWVhKcFlXNTBjeTh6TnpRMVlqSmtZaTB3WlRCakxUUTVaRFV0WW1Ga01DMWxNRFl4TWpFd09Ua3dOMkl2TkdRME1qQTBNR1EzTjJaaE5UZ3pOVFU1WXpSbVpqaGlOVFpoWVdVd01ESmhabVJqWW1GaE5HTmxPRFV3WXpneU1UUmhPVEpsWlRVNVl6bGlPRGs0WVFZNkJrVlUiLCJleHAiOiIyMDE4LTA5LTAzVDEwOjEyOjMyLjUwN1oiLCJwdXIiOiJibG9iX2tleSJ9fQ==--b9eed7f4cf3d71fcb697429188e1a1a74ba88bec/faded-flip.jpg",
:status => 200,
:view_runtime => 0.69,
:db_runtime => 0.0,
:status_message => "OK"
}
127.0.0.1 - - [03/Sep/2018:11:07:41 BST] "GET /rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaEpJbk4yWVhKcFlXNTBjeTh6TnpRMVlqSmtZaTB3WlRCakxUUTVaRFV0WW1Ga01DMWxNRFl4TWpFd09Ua3dOMkl2TkdRME1qQTBNR1EzTjJaaE5UZ3pOVFU1WXpSbVpqaGlOVFpoWVdVd01ESmhabVJqWW1GaE5HTmxPRFV3WXpneU1UUmhPVEpsWlRVNVl6bGlPRGs0WVFZNkJrVlUiLCJleHAiOiIyMDE4LTA5LTAzVDEwOjEyOjMyLjUwN1oiLCJwdXIiOiJibG9iX2tleSJ9fQ==--b9eed7f4cf3d71fcb697429188e1a1a74ba88bec/faded-flip.jpg?content_type=image%2Fjpeg&disposition=inline%3B+filename%3D%22faded-flip.jpg%22%3B+filename%2A%3DUTF-8%27%27faded-flip.jpg HTTP/1.1" 200 21345
http://localhost:3000/users/password/new -> /rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaEpJbk4yWVhKcFlXNTBjeTh6TnpRMVlqSmtZaTB3WlRCakxUUTVaRFV0WW1Ga01DMWxNRFl4TWpFd09Ua3dOMkl2TkdRME1qQTBNR1EzTjJaaE5UZ3pOVFU1WXpSbVpqaGlOVFpoWVdVd01ESmhabVJqWW1GaE5HTmxPRFV3WXpneU1UUmhPVEpsWlRVNVl6bGlPRGs0WVFZNkJrVlUiLCJleHAiOiIyMDE4LTA5LTAzVDEwOjEyOjMyLjUwN1oiLCJwdXIiOiJibG9iX2tleSJ9fQ==--b9eed7f4cf3d71fcb697429188e1a1a74ba88bec/faded-flip.jpg?content_type=image%2Fjpeg&disposition=inline%3B+filename%3D%22faded-flip.jpg%22%3B+filename%2A%3DUTF-8%27%27faded-flip.jpg
2018-09-03 11:07:42.234412 D [75455:70130203086520 log_subscriber.rb:8] ActiveStorage::DiskController -- …Run Code Online (Sandbox Code Playgroud) 当Active Storage创建签名的变体URL时,它会将默认超时设置为5.minutes.我真的想增加这个,但我一直在拖网Github问题,代码潜水,无法在任何地方找到它.在服务类a的第44行class_attribute设置,但是如何覆盖它?
https://github.com/rails/rails/blob/5-2-stable/activestorage/lib/active_storage/service.rb#L44
我正在使用url_for生成已签名的变体链接,但似乎无论如何都不会改变设置.任何帮助将不胜感激.
谢谢!:)
我有一个 ActiveStorage 问题,似乎是由于 Rails 6.0 升级(从 5.2.x)引起的。
我有一个自定义管理界面,其中页面有字段,每个字段都有一个 STItype来创建复杂的页面布局。该Image类型使用Active存储(这是回形针,但出货的Rails 5.2后迁移),通过一个简单的上传模式存储的图像-无需复杂的直接上传JS。
类结构如下(为简洁起见,我删除了额外的代码):
class Page < ApplicationRecord
has_many :fields, dependent: :destroy
accepts_nested_attributes_for :fields, allow_destroy: true
end
class Field < ApplicationRecord
belongs_to :page
end
module Fields
class Image < Content::Field
has_one_attached :image
accepts_nested_attributes_for :image_attachment, allow_destroy: true
end
end
Run Code Online (Sandbox Code Playgroud)
当页面更新时,它通过嵌套的表单属性和一个简单的调用@page.update(permitted_params).
该permitted_params(减去不重要PARAMS),看起来像这样...
{
"fields_attributes"=> {
"0"=> {
"type"=>"Fields::Image",
"image"=>#<ActionDispatch::Http::UploadedFile:0x00007ff36cdd9908 @tempfile=#<Tempfile:/var/folders/_t/clkdb5ms365617_039m7y7sc0000gn/T/RackMultipart20191021-38488-4kyp8k.jpg>, @original_filename="image.jpg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"content_page[fields_attributes][0][image]\"; filename=\"image.jpg\"\r\nContent-Type: image/jpeg\r\n">,
"id"=>"8059"
}
}
}
Run Code Online (Sandbox Code Playgroud)
为了维护更新集合的 ActiveStorage 5.2 行为,而不是覆盖它,我在我的 中有以下内容application.rb …
这将是一个Noob问题.
为什么在Puppet,Exec和exec中有两种类型的Exec.我找不到两者之间的区别.
Exec {
path => ["/usr/bin", "/bin", "/usr/sbin", "/sbin", "/usr/local/bin","/usr/local/sbin"]
}
#execute the following command
exec {
#this is our command name
'apt-get update':
#the command to be executed
command => '/usr/bin/apt-get update',
#where we can find the required command
require => Exec['add php54 apt-repo']
}
Run Code Online (Sandbox Code Playgroud) 在此之前我从来没有遇到过Symfony2或Vagrant的问题,而且我对于发生的事情我完全迷失了.
没有任何警告我的环境完全死亡,只会产生以下错误:
ContextErrorException: Warning:
file_get_contents(/Users/Paul/Sites/Project/htdocs/project-web/vendor/symfony/symfony/src/Symfony/Bundle/TwigBundle/Resources/views/Exception/exception_full.html.twig):
failed to open stream: No such file or directory in /var/www/project-web/vendor/twig/twig/lib/Twig/Loader/Filesystem.php line 130
Run Code Online (Sandbox Code Playgroud)
这很奇怪的原因是Symfony指的是我的本地文件系统......
/Users/Paul/Sites/Project/htdocs/project-web/vendor/symfony/symfony/src/Symfony/Bundle/TwigBundle/Resources/views/Exception/exception_full.html.twig
Run Code Online (Sandbox Code Playgroud)
....而不是运行Ubuntu的box environement,然后引用'Filesystem.php'的unix文件系统位置...
/var/www/project-web/vendor/twig/twig/lib/Twig/Loader/Filesystem.php
Run Code Online (Sandbox Code Playgroud)
我无法通过这个屏幕.我刚刚创建了一个全新的环境并将其打包为一个自己的盒子,然后使用该盒子我仍然会收到此错误.
有人可以帮忙吗?
我遇到了 MacOS Ventura 的问题,其中创建的所有绑定卷(我将主机上的目录链接到容器上的目录)docker-compose都是空的。我在 MacOS 12.4 和 12.6 上测试了相同的脚本,它们按预期工作,为我提供了容器上与主机上相同的目录内容,因此 v13 似乎更改了一些权限。
文件docker-compose.yml:
version: "3"\n\nservices:\n bash:\n image: ubuntu:latest\n stdin_open: true\n tty: true\n volumes:\n - ./:/app\n command: "/bin/bash"\nRun Code Online (Sandbox Code Playgroud)\n因此,这应该在名为 的容器上创建一个目录/app,并将其链接到撰写文件所在的主机目录。
但是当我启动容器时:
\n\xe2\x9d\xaf docker-compose up --build\n[+] Running 1/0\n \xe2\xa0\xbf Container ruby-docker-bash-1 Created 0.0s\nAttaching to ruby-docker-bash-1\nRun Code Online (Sandbox Code Playgroud)\n并登录,/app目录为空:
\xe2\x9d\xaf docker exec -it ruby-docker-bash-1 /bin/bash\nroot@9644de175d48:/# cd app/\nroot@9644de175d48:/app# ls -la\ntotal 4\ndrwxr-xr-x 2 root root 40 Feb 1 09:59 .\ndrwxr-xr-x 1 root root …Run Code Online (Sandbox Code Playgroud) 我知道fish不记得以a开头的命令space,但是如果可以添加忽略Git命令的规则?