質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

1回答

1790閲覧

「jQuery.BgSwitcher」で画像が取得できない

naota7118

総合スコア7

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2020/07/24 03:46

自分で調べながらいくつか試しましたが、それでも解決できないので質問させて頂きます。

やりたいこと

背景画像を切り替えられるjQueryプラグイン「jQuery.BgSwitcher」を使って背景画像を自動で切り替えられる実装をしたい。

経緯

未経験からエンジニアへの転職を目指しており、転職活動用の個人アプリを作成中です。
食べたものやカロリーなどを投稿するアプリです。
投稿一覧画面の背景画像が自動で切り替わる実装をしているところです。

生じている問題

プラグイン「jQuery.BgSwitcher」を設定する記事を参考にしながら設定してみましたが、画像が表示されません。
ターミナルに以下のエラー文が表示され、ブラウザのデベロッパーツールには添付画像のように404 Not Foundと出てきてしまいます。

ActionController::RoutingError (No route matches [GET] "/images/sven-mieke-optBC2FxCfc.jpg"): ActionController::RoutingError (No route matches [GET] "/images/Pumphose.muscles.png"): ActionController::RoutingError (No route matches [GET] "/images/allef-vinicius-do-0ghSDd2E-unsplash.jpg"):

イメージ説明

該当のソースコード

application.haml.html

ruby

1!!! 2%html(lang="ja") 3 %head 4 %script(src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js") 5 (省略) 6 = javascript_include_tag 'jquery.bgswitcher.js': true

_main.haml.html

ruby

1.bg-slider 2 %script 3 :javascript 4 $(function($){ 5 $('.bg-slider').bgSwitcher({ 6 images:['Pumphose.muscles.png', 'allef-vinicius-do-0ghSDd2E-unsplash.jpg', 'sven-mieke-optBC2FxCfc.jpg'], 7 //effect: "drop", 8 //easing: "linear" 9 interval: 3000, // 背景画像を切り替える間隔を指定 3000=310 loop: true, // 切り替えを繰り返すか指定 true=繰り返す false=繰り返さない 11 shuffle: true, // 背景画像の順番をシャッフルするか指定 true=する false=しない 12 effect: "blind", // エフェクトの種類をfade,blind,clip,slide,drop,hideから指定 13 duration: 500, // エフェクトの時間を指定します。 14 easing: "swing" // エフェクトのイージングをlinear,swingから指定 15 }); 16 });

_main.scss

css

1.bg-slider { 2 padding: 10px 20px 10px 20px; 3 background-color: #ddd; 4 // background-image: url('Pumphose.muscles.png'); 5 // background-size: contain; 6 width: 100vw; 7 height: 100vh; 8 background-position:center center; 9 background-size: cover; 10 display: flex; 11 align-items: center; 12 justify-content: center; 13 }

試したこと

下記の画像のpathが間違っているという仮説のもと、いくつかpathを変えてみましたが、うまくいきませんでした。

app/assets/images/Pumphose.muscles.png
app/assets/images/allef-vinicius-do-0ghSDd2E-unsplash.jpg
app/assets/images/sven-mieke-optBC2FxCfc.jpg)

images:['Pumphose.muscles.png', 'allef-vinicius-do-0ghSDd2E-unsplash.jpg', 'sven-mieke-optBC2FxCfc.jpg'],

../'Pumphose.muscles.png'
images/'Pumphose.muscles.png'
app/assets/images/Pumphose.muscles.png

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

パスの問題のようなので、app-name/public/images/に画像ファイルを移動させ、下記のような形で設定してみてはいかがでしょうか?

images:['/images/Pumphose.muscles.png', '/images/allef-vinicius-do-0ghSDd2E-unsplash.jpg', '/images/sven-mieke-optBC2FxCfc.jpg'],

なぜpublicだと良いのかについては下記を確認いただくとわかりやすいかと思います。
きゃまなかのブログ:【Ruby on Rails】画像は public と app/assets/images のどちらに設置すべき?

投稿2020/07/24 23:26

no1knows

総合スコア3365

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

naota7118

2020/07/25 14:50

返信が遅くなってしまい申し訳ありません。ご回答頂きありがとうございます。教えていただいた設定をやってみて、その結果どうなったのかをこちらに書かせて頂きます。お待ちいただければ幸いです。
naota7118

2020/07/26 08:12

教えていただいた通りapp-name/public/images/に画像ファイルを移動させ、pathを変更したところ、無事自動スライドショーが設定できました。 まだ完全に理解し切れていないので、教えていただいた記事を読んで理解を深めたいと思います。 本当にありがとうございました????‍♂️!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問