2011-08-15 7 views
0

以下は、各メッセージに関連する写真とともに、ユーザのメッセージをそれぞれ表示するためのコードです。このコードは、home_controllerの部分的なビューにあります。Ruby on Rails:レイアウトでユーザがアップロードした画像へのリンク

<% msgs.each do |msg| %> 
    <%- if msg.photo? -%> 
     <%= image_tag msg.photo.url(:listsize) %> 
    <%- end -%> 
<%- end -%> 

このような特定のメッセージに関連する写真を表示できます。写真はレールで紙クリップでユーザーにアップロードされます。写真はデータベースのmsgテーブルの列に格納されます。

ユーザーがアップロードした最新の写真をレイアウト自体に表示するにはどうすればよいですか?

つまり、image_tag current_user.lastest.msg.photo.url(:listsize)のようなものですが、レイアウト内に表示する必要があります。

答えて

1

あなたは、実際には、使用することができます。

image_tag current_user.lastest.msg.photo.url(:listsize) 

をあなたのレイアウトで。もちろん、あなたがユーザーであるか、またはログインしていないかどうかに注意してくださいしたいと思うに似ていくつかのコード:。

<%= image_tag current_user.lastest.msg.photo.url(:listsize) if current_user.present? %> 

は不思議に動作します。これをレイアウトに入れることを恐れている他の理由はありますか?

+0

上記のコードを単純化すると、次のようになります。<%= image_tag current_user.lastest.msg.photo.url(:listsize)if current_user.present? %> – jschorr

+0

奇妙なことに、OPは応答時に編集する代わりに質問を再掲載しました...しかし、簡素化のおかげで – ghayes