実際に AWS Cloud9 環境を作って、試してみました
確かに、Rails サーバを立ち上げると、ログにはレンダリングした出力が確認できますが、プレビュー画面に何も表示されませんね
Web ブラウザの開発者コンソールを確認してみると、次のようなエラー メッセージが確認できると思います
Refused to display 'https://abcdef123456789.vfs.cloud9.us-east-1.amazonaws.com:8080/users/' in a frame because it set 'X-Frame-Options' to 'sameorigin'.
このエラーメッセージをほぼそのままで検索してみると、たとえば次のような情報が得られると思います
ruby
1before_filter :allow_iframe_requests
2...
3def allow_iframe_requests
4 response.headers.delete('X-Frame-Options')
5end
どんなコードを書くかにもよるとは思いますが ただ、そのまま記述するとせっかくのセキュリティのための動作が台無しになってしまうでしょう
そこで、上に倣って しかし、次のようなコードを記述すると、AWS Cloud9 (= 開発環境)限定で、セキュリティを緩くできていいかもしれません
app/controlers/application_controller.rb :
ruby
1class ApplicationController < ActionController::Base
2 protect_from_forgery with: :exception
3 before_action :allow_iframe_requests if Rails.env.development? # 追記
4
5 # 追記
6 def allow_iframe_requests
7 response.headers.delete('X-Frame-Options')
8 end
9end
この開発環境でのサーバの立ち上げは従来のCloud9 と同様に bundle e rails s -b $IP -p $PORT
で立ち上げられます
簡単に調べてみましたが、何か参考になれば幸いです
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。