質問: rails4で開発中。 現在deviseを使用してログイン機能を実装して、CarrierWaveを使用しプロフィール画像を登録できるようにしました。 登録された画像はs3サーバにアップロードするようにしました。 画像を設定していない場合は、こちらで準備したデフォルトの画像が表示されるようにしています。 そしてログイン者のプロフィール画像をヘッダーに表示させるため`<%= image_tag(current_user.avatar) %>`とコードを記述しています。 ### 発生している問題 ユーザーがプロフィール画像を自分でアップロードしないと`<%= image_tag(current_user.avatar) %>`という記述で画像が表示されない。 ユーザーが自分でプロフィール画像を設定した場合は、正常に画像が表示される。 ですが他の場面、例えば、トピックを投稿して、投稿したユーザーのプロフィール画像を表示させる場合 ``` <% @topics.each do |topic| %> <%= profile_img(topic.user) %> <%= topic.content %> <% end %> ``` と記述して、ユーザーがプロフィール画像を自分でアップロードしていなくても、この場面ではデフォルトの画像が表示されます。 どこを修正すればログイン者のプロフィール画像を正常に表示させれるのでしょうか? 分かりづらい説明になってしまいましたが、ご教授のほど宜しくお願いします。 ### 補足情報 ローカルホストにアクセスしてHTMLソースを確認してみると ``` ``` となっており、画像のパスが取得できていない?状態なのかと思われます。
回答: image_tagを使用せず、profile_imgの実装を参考にした別のメソッドを用意して、そのメソッドを呼び出せばいいのではないでしょうか?