こんにちは、RubyとRailsを独学で勉強している者です。
今回は、RailsとJavaScriptの本番環境での不具合について質問があります。
本番環境 プラットホーム:AWS 仮想サーバー:EC2(t2.small) データベース:RDS(db.t2.micro)
ローカルの開発環境では正確に動いている以下のpJavaScriptのコードが上記の本番環境では不具合のように動きます。(動かないのではなく、不具合のような挙動になります。)
function Fileviewbegin() { var postimg_0 = document.getElementById('post_article_photos_attributes_0_image'); var postimg_1 = document.getElementById('post_article_photos_attributes_1_image'); var postimg_2 = document.getElementById('post_article_photos_attributes_2_image'); if (postimg_0 != null) { function Filepreview(evt) { var file = evt.target.files[0]; document.getElementById('preview_0').innerHTML = "" var reader = new FileReader(); reader.onload = (function() { return function(e) { var span = document.createElement('span'); span.innerHTML = "<img src='" + e.target.result + "'>"; document.getElementById('preview_0').insertBefore(span, null); document.getElementById('image-upload').classList.add('delete-upload'); }; })(file); reader.readAsDataURL(file); }; postimg_0.addEventListener('change', Filepreview, false); }; if (postimg_1 != null) { function Filepreview(evt) { var file = evt.target.files[0]; document.getElementById('preview_1').innerHTML = "" var reader = new FileReader(); reader.onload = (function() { return function(e) { var span = document.createElement('span'); span.innerHTML = "<img src='" + e.target.result + "'>"; document.getElementById('preview_1').insertBefore(span, null); document.getElementById('image-upload').classList.add('delete-upload'); }; })(file); reader.readAsDataURL(file); }; postimg_1.addEventListener('change', Filepreview, false); }; if (postimg_2 != null) { function Filepreview(evt) { var file = evt.target.files[0]; document.getElementById('preview_2').innerHTML = "" var reader = new FileReader(); reader.onload = (function() { return function(e) { var span = document.createElement('span'); span.innerHTML = "<img src='" + e.target.result + "'>"; document.getElementById('preview_2').insertBefore(span, null); document.getElementById('image-upload').classList.add('delete-upload'); }; })(file); reader.readAsDataURL(file); }; postimg_2.addEventListener('change', Filepreview, false); }; }; window.addEventListener('load', Fileviewbegin, false);
上記のコードは写真の投稿フォームで
inputのidがpost_article_photos_attributes_0_imageのタグに写真が入ったらフォームの#preview_0の場所に<img>タグを挿入するというネイティブJSです。
同じようにpost_article_photos_attributes_1_imageのタグに写真が入ったらフォームの#preview_1の場所に<img>タグを挿入、post_article_photos_attributes_2_imageのタグに写真が入ったらフォームの#preview_2の場所に<img>タグを挿入します。
ローカルの開発環境では正確に動きますがAWSの本番環境では、post_article_photos_attributes_0_imageのタグに写真が入ったらフォームの#preview_2の場所に<img>タグが挿入されるなど不具合の挙動になります。
ちなみに、以下のコマンドで正確にアセットのプリコンパイルは行われております。
bundle exec rake assets:precompile RAILS_ENV=production
何故でしょうか?
アドバイスなど、宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/10/29 05:07 編集
2018/10/29 05:15
退会済みユーザー
2018/10/29 08:15
退会済みユーザー
2018/10/29 14:56