rails6にてjavascript_pack_tagを使用して読み込みたいが、
localhost/:18 GET http://localhost:3000/packs/js/application-55591c865065.js net::ERR_ABORTED 404 (Not Found)
のようなエラーがでてきています。
app/views/layouts/application.html.erb
ruby
1<!DOCTYPE html> 2<html> 3 <head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <title>MenuApp</title> 7 <%= csrf_meta_tags %> 8 <%= csp_meta_tag %> 9 <link rel="stylesheets" href="style.css"> 10 <%= stylesheet_link_tag 'application', media: 'all'%> 11 <%= javascript_pack_tag 'application' %> 12 13 <link rel="preconnect" href="https://fonts.gstatic.com"> 14 <link href="https://fonts.googleapis.com/css2?family=Kufam:ital@1&display=swap" rel="stylesheet"> 15 </head> 16 17 <body> 18 19 <%= yield %> 20 21 </body> 22</html> 23
app/js/packs/application.js
require("@rails/ujs").start() require("@rails/activestorage").start() require("channels") require("../scripts")
app/js/scripts.js
javascript
1 2 3const slider = function(){ 4 // Next(Prev)ボタンの取得 5 const next = document.querySelector(".next"); 6 const prev = document.querySelector(".prev"); 7 8 // liタグのwidthを取得 9 const sliderwidth = document.querySelector(".sliderlist__item"); 10 let width = sliderwidth.clientWidth; 11 12 // slider(ul要素、li要素一覧)の取得 13 const sliderlist = document.querySelector(".sliderlist"); 14 const sliderlist_item = document.querySelectorAll(".sliderlist__item") 15 16 // カウンターの設定 17 let counter = 0; 18 19 // イベントリスナー (next) 20 next.addEventListener("click", function(){ 21 if(counter == sliderlist_item.length - 1) return; //ボタン連打対策 22 prev.style.display = "block"; 23 sliderlist.style.transition = ".3s"; 24 counter ++; 25 sliderlist.style.transform = "translateX("+ (- width * counter) + "px)"; 26 27 sliderlist.addEventListener("transitionend", function(){ 28 if(counter == sliderlist_item.length - 1){ 29 sliderlist.style.transition = "none"; 30 next.style.display = "none"; 31 } 32 }) 33 }); 34 35 // イベントリスナー (prev) 36 prev.addEventListener("click", function(){ 37 if(counter == sliderlist_item.length - sliderlist_item.length) return; //ボタン連打対策 38 next.style.display = "block"; 39 sliderlist.style.transition = ".3s"; 40 counter --; 41 sliderlist.style.transform = "translateX("+ (- width * counter) + "px)"; 42 43 sliderlist.addEventListener("transitionend", function(){ 44 if(counter == sliderlist_item.length - sliderlist_item.length){ 45 sliderlist.style.transition = "none"; 46 prev.style.display = "none"; 47 } 48 }) 49 }); 50}; 51 52slider();
rails6ではpack_tagを使用し、application.jsでのパスの記述方法も間違えてはいないはずなのでそのほかで何かが間違えていると思います。
わかる方いましたらご教授のほどよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/18 04:38
2021/01/18 04:51