Resize_to_fillにActiveStorageの新しい関数が必要だったため、Ruby 2.5.1およびRails 6。
Ruby '2.5.1'
gem "Rails", github: "Rails/rails"
停止してからサーバー(Cloud 9)を起動すると、Rails=エラー:
ブロックされたホスト:xxxxxxx-xxxxxxx.c9users.io xxxxxxx-xxxxxxx.c9users.ioへの要求を許可するには、次の構成を追加します。
Rails.application.config.hosts << "xxxxxxx-xxxxxxx.c9users.io"
新しいウィンドウを再起動しようとしましたが、これを取り除くものは何もありません。このエラーを見たことはありません。 Railsの新しいバージョンは何かしているのでしょうか?
元の質問で述べたように、Active Storageを使用して画像のサイズを正しく変更することは、Rails 5.xではまったく動作しませんでした。 imagemagick.orgの膨大な調査により、必要な方法で正確に動作するようになりました。そして、ファイルから画像まですべてでRails 5.2でActive Storageを使用しています。この場合、画像に関して、それらを表示するためにこのコードを追加しました。
<%= image_tag attachment.variant(combine_options: {auto_orient: true, thumbnail: '200x200^', gravity: 'center', extent: '200x200' }) %>
興味があれば、
auto-orient
は、偶然出くわすような狂った横向きの写真を処理します。
gravity
およびextent
はトリミングを処理します。
初めてイメージがロードされると、そこから利用可能になります。最初のロードでは、サイズに応じて1〜2秒かかることがあります。
開発環境でこの機能を無効にする場合は、次を設定できます。
config.hosts = nil
in config/environments/development.rb
。
ブロックされたホストは、Rails 6.の新しい機能です。このパターンをconfig/environments/development.rb
動的URLの場合、その心配はありません
config.hosts << /[a-z0-9]+\.c9users\.io/
また、ngrokユーザーの場合は、上記のc9users
by ngrok
この記事は私のために機能します: https://www.fngtps.com/2019/Rails6-blocked-Host/
The first option is to whitelist the development of hostname in config/environments/development.rb.
Rails.application.configure do
# Whitelist one hostname
config.hosts << "hostname"
# Whitelist a test domain
config.hosts << /application\.local\Z/
end
The second option is to clear the entire whitelist, which lets through requests for all hostnames.
Rails.application.configure do
config.hosts.clear
end
クレジット:Manfred Stienstra
Rails 6 Action PackでActionDispatch :: HostAuthorizationが導入され、デフォルトでは[IPAddr.new(“ 0.0.0.0/0”)、IPAddr.new(“ ::/0”)、 「localhost」]
RegExp、Proc、IPAddr、およびStringの配列、またはこのようにconfig/application.rbファイルに単一のStringを追加できます。
class Application < Rails::Application
config.hosts << "xxxxxxx-xxxxxxx.c9users.io"
...
end
「 https://drivy.engineering/Rails-6-unnoticed-features 」から:
Rails 6では、ActionDispatch :: HostAuthorizationという新しいミドルウェアが追加され、アプリケーションのホストをホワイトリストに登録して、 ホストヘッダー攻撃 を防ぐことができます。 String、IPAddr、Proc、RegExpを使用して簡単に構成できます(ワイルドカードドメインを扱う場合に便利です)。