app/assets/images/に保存した画像情報が取得できない
受付中
回答 0
投稿
- 評価
- クリップ 0
- VIEW 1,151
実現したいこと
app/assets/images/に保存した画像情報を取得したい。
発生している問題
FastImageというgemをインストールして、ローカルの画像情報を取得しようと試みましたが、
値を取得することができません。
代替として、minimagickというgemを使用しようとしましたが、
こちらもローカルのファイルを開く指定の部分でエラーが発生してしまいました。
エラーメッセージ
下記は、minimagickのgemを使用した場合のものです。
ActionView::Template::Error (No such file or directory @ rb_sysopen - profile.png):
23: <p><%= element.content %></p>
24: <p><%= image_tag element.image.to_s %></p>
25:
26: <%= image = MiniMagick::Image.open("profile.png") %>
27: <%= image.details %>
28: <p><img class="image-normal" src="<%= asset_path "sample.jpg" %>" alt="サンプル画像" /></p>
29: </div>
app/views/tweets/index.html.erb:26:in `block in _app_views_tweets_index_html_erb___1935870555727135443_69963536864840'
app/views/tweets/index.html.erb:14:in `each'
app/views/tweets/index.html.erb:14:in `_app_views_tweets_index_html_erb___1935870555727135443_69963536864840'
Rendered /usr/local/rvm/gems/ruby-2.3.0/gems/actionpack-4.2.3/lib/action_dispatch/middleware/templates/rescues/_source.erb (5.9ms)
Rendered /usr/local/rvm/gems/ruby-2.3.0/gems/actionpack-4.2.3/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (2.1ms)
Rendered /usr/local/rvm/gems/ruby-2.3.0/gems/actionpack-4.2.3/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.1ms)
Rendered /usr/local/rvm/gems/ruby-2.3.0/gems/actionpack-4.2.3/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (27.0ms)
試したこと
既にweb上に公開されている画像を絶対パスで指定すると、どちらのgemも問題なく動作いたしました。
FastImage.size("profile.png") // サイズ取得不可
FastImage.size("http://hogehoge.jpg") // サイズ取得可
また、asset_path "profile.png"
と記述しても、問題なく画像は表示されました。
初歩的な内容ではございますが、数日悩まされているエラーですので、どなたかご教示いただけると助かります。。
補足情報
・cloud9
・Rails 4.2.3
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
まだ回答がついていません
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.32%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
質問への追記・修正の依頼
m.ts10806
2018/04/14 12:24
画像へのパスが間違っているに他なりませんが、app/assetsなど、ディレクトリを得られる定数などはありませんか?そちらがないか確認して、パスを合わせてみてください。絶対パスじゃなきゃいけないという仕組みにはなっていないはずです。
freeze
2018/04/14 13:12
コメントありがとうございます。こちらの理解が追い付かず恐縮ですが、"ディレクトリを得られる定数"について、具体的にどの部分を確認するべきなのでしょうか?(このgemを使用するにあたって定数を書き換えた心当たりがありません)
m.ts10806
2018/04/14 13:47
これとか? http://techblog.kyamanak.com/entry/2017/10/13/003818
m.ts10806
2018/04/14 13:47
定数というより、そういう関数が用意されてるようですね。
freeze
2018/04/14 15:05
こちら、publicディレクトリに置いた画像ファイルについても、記事内を参考に取得しようとしましたが上手くいきませんでした。。