本番環境で画像が表示されなくて困ったので、なんとかした

本番環境で画像が表示されない・・・

assetsは読み込まれているけど、画像のみ表示されない。

状況はhttp://hoge.com/public/images/sample.jpgで画像は表示されるけど、実際のpathは= image_tag /images/sample.jpgで書いており、publicが邪魔で表示されない。

rails側の問題か?とか色々考えたけど、pathが違うのはnginx側で解決できそうだと思い、nginx側の設定をガチャガチャいじりました。

server {
  listen 80;
  server_name hoge.com;

  # Application root, as defined previously
  # root /var/www/hoge/current/;  ←元々の設定
  root /var/www/hoge/current/public;  ←変更後

  location ~ ^/assets/ {
    gzip_static on;
  }

なんとかなりました。

原因から推測してやるしかないけど、nginxもそんなに詳しくないから問題の切り分けが難しい。

この辺は慣れなのか?