Ativos x público para vídeos estáticos
-
20-12-2019 - |
Pergunta
Eu tenho um vídeo estático em meu aplicativo Rails.Tenho duas cópias dele:um armazenado em assets/videos
e um armazenado em public
.Por alguma razão, o vídeo armazenado no assets
pasta carrega muito mais lentamente do que o vídeo armazenado no public
pasta.
- Alguem sabe por quê?
- Qual é a melhor prática?É uma má prática colocá-lo
public
?
Solução
Alguem sabe por quê?
Porque public
pasta é o primeiro lugar que atende a solicitação recebida.Se a pasta/arquivo não for encontrada nessa pasta, ela será encaminhada para o Rails.
Qual é a melhor prática?É uma má prática colocá-lo em público?
depende.Se você quiser usar os recursos do Rails, como acessar a pasta de vídeos com assets_path
ou pode ser como converter vídeos de um formato para dois com algum script Rails ou você deseja restringir vídeos a alguns países ou pessoas/usuários, então você deve colocar NÃO colocar public
pasta.Isso é tudo.
Outras dicas
O diretório de ativos só é necessário Se você deseja aproveitar o pipeline de ativos. O pipeline de ativos lida com as coisas desde a compactação e compilação. Coffee e arquivos .less ou sass para comprimir seu JS e CSS em um arquivo, para que seu servidor da web tenha que servir apenas um arquivo para cada um.
Quando você compila seus ativos com o "rake task bundle exec rake assets:precompile" eles são movidos para seu diretório público de qualquer maneira
Verifique este comentário https://stackoverflow.com/a/8581316/1231365
Então é melhor manter seus vídeos na pasta pública.