kodamaa/divertirse — pull request #33 by yatemmma (2013-07-04 15:24:34+00:00)
Title: fixed show empty comment.

https://github.com/kodamaa/divertirse/issues/27 showページのコメントが0件の場合にも表示される
に対応しました。暫定対応です。

根本的に問題解決したい。

原因と対応内容は下記。

### 原因

show.html.erb で @post.comments に値が空のオブジェクトが含まれてしまう。
下記はコメントが1件だけなのに、要素は2つあり、2つ目は値がすべてnil。
コメント0件の場合も値が空のオブジェクトがとれるので、
@post.comments.any? が常にTRUE判定になっていた。

````
2: <%= link_to 'home' , posts_path %>
3:

4:
5:

<%= @post.title %>

6:
=> 7:

<%= simple_format(@post.content); binding.pry %>

8:
9:

Comments

10:

11: <% if @post.comments.any? %>
12: <% @post.comments.each do |comment| %>

[1] 1.9.3-p194(#<#>)> @post.comments
=> [#,
#]
````

### 対応

Modelクラスのhas_many や belong_to が悪いのかと疑ったが、間違ってなさそうで良く分からなかった。
暫定対応として、@post.comments で取得された配列のうち、idがnilじゃないものをArray#selectで抽出する方法をとった。強引なり。