2012年12月11日火曜日

rails:comment機能を実装:ユーザ名の表示

せっかく出来た作品ページに、comment機能を追加する。

要件
1.入力者の名称が表示されるようにする。
2.入力者が、新規入力と、削除ができるようにする。
3.コメントの入力、削除に、画面遷移・再読込を不要にする。
4.コメントの入力者のアイコンが表示されるようにする。

2が半分できているだけで、ちょっと道半ば。
今日は1の完了を目標にする。

Photo:Commentが1:多で関連しているが、Userが今の機能では検索できていない。
まずこれを何とかする。

1.modelsフォルダのcomment.rbを改修

class Comment < ActiveRecord::Base
  belongs_to :photo
  belongs_to :user #これを追加

2.modelsフォルダのuser.rbを改修

class Muserdtil < ActiveRecord::Base
 has_meny :comments

3.Photoのcontroller:showを改修

@photo = Photo.find(params[:id],:include=>:user,
      :conditions=>["photos.user_id = users.id"])

4.Photoのview:showを改修

<% if @photo.comments.any? %>
<% @photo.comments.each do |comment| %>
<li>
<%= image_tag comment.user.avatar_url(:thumb).to_s if comment.user.avatar? %>
<%= comment.body %> (by <%= comment.user.DISP_NAME %>)
</li>
<% end %>
<% else %>
<li>no comment yet.</li>
<% end %>
アイコンが大きすぎるのが気になる(サイズを小さくしておこう)ものの、
1.入力者の名称が表示されるようにする。
4.コメントの入力者のアイコンが表示されるようにする。
が達成。一気に4まで達成出来たのは良かった。



0 件のコメント:

コメントを投稿