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

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

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

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

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

受付中

app/assets/images/に保存した画像情報が取得できない

freeze
freeze

総合スコア21

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

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

0回答

0評価

0クリップ

102閲覧

投稿2018/04/13 23:25

実現したいこと

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も問題なく動作いたしました。

Ruby

FastImage.size("profile.png") // サイズ取得不可 FastImage.size("http://hogehoge.jpg") // サイズ取得可

また、asset_path "profile.png"と記述しても、問題なく画像は表示されました。

初歩的な内容ではございますが、数日悩まされているエラーですので、どなたかご教示いただけると助かります。。

補足情報

・cloud9
・Rails 4.2.3

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

m.ts10806

2018/04/14 03:24

画像へのパスが間違っているに他なりませんが、app/assetsなど、ディレクトリを得られる定数などはありませんか?そちらがないか確認して、パスを合わせてみてください。絶対パスじゃなきゃいけないという仕組みにはなっていないはずです。
freeze

2018/04/14 04:12

コメントありがとうございます。こちらの理解が追い付かず恐縮ですが、"ディレクトリを得られる定数"について、具体的にどの部分を確認するべきなのでしょうか?(このgemを使用するにあたって定数を書き換えた心当たりがありません)
m.ts10806

2018/04/14 04:47

定数というより、そういう関数が用意されてるようですね。
freeze

2018/04/14 06:05

こちら、publicディレクトリに置いた画像ファイルについても、記事内を参考に取得しようとしましたが上手くいきませんでした。。

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

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