小编PR *_*ead的帖子

将ActiveStorage日志静音

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)

ruby-on-rails rails-activestorage

10
推荐指数
3
解决办法
587
查看次数

如何更改活动存储服务url_expires_in超时?

当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生成已签名的变体链接,但似乎无论如何都不会改变设置.任何帮助将不胜感激.

谢谢!:)

ruby-on-rails rails-activestorage

7
推荐指数
1
解决办法
2279
查看次数

在 Rails 6.0 升级后,ActiveStorage 不会将 blob 持久化到附件

我有一个 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 …

ruby ruby-on-rails rails-activestorage ruby-on-rails-6

4
推荐指数
1
解决办法
3313
查看次数

为什么有两种类型的Puppet'Exec'和Puppet'exec'

这将是一个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)

puppet

3
推荐指数
1
解决办法
919
查看次数

Vagrant + Symfony2环境ContextErrorException怪异

在此之前我从来没有遇到过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)

我无法通过这个屏幕.我刚刚创建了一个全新的环境并将其打包为一个自己的盒子,然后使用该盒子我仍然会收到此错误.

有人可以帮忙吗?

php symfony vagrant

3
推荐指数
1
解决办法
3544
查看次数

MacOS Ventura (13.1) 上的 Docker-compose 卷全部为空

我遇到了 MacOS Ventura 的问题,其中创建的所有绑定卷(我将主机上的目录链接到容器上的目录)docker-compose都是空的。我在 MacOS 12.4 和 12.6 上测试了相同的脚本,它们按预期工作,为我提供了容器上与主机上相同的目录内容,因此 v13 似乎更改了一些权限。

\n

文件docker-compose.yml

\n
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"\n
Run Code Online (Sandbox Code Playgroud)\n

因此,这应该在名为 的容器上创建一个目录/app,并将其链接到撰写文件所在的主机目录。

\n

但是当我启动容器时:

\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\n
Run Code Online (Sandbox Code Playgroud)\n

并登录,/app目录为空:

\n
\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)

macos docker docker-compose macos-ventura

3
推荐指数
1
解决办法
1423
查看次数

在Fish中,是否可以忽略所有与Git相关的命令?

我知道fish不记得以a开头的命令space,但是如果可以添加忽略Git命令的规则?

git shell fish

1
推荐指数
1
解决办法
135
查看次数