В вашем коде:
<% @posts.each do |post| %>
<h5><td><%=link_to post.category(1).title, post %></td></h5>
<% end %>
... эта часть выглядит подозрительно: category(1)
. Если сообщение относится к категории, попробуйте это:
post.category.title
Если у поста есть категории man_many (или has_and_belongs_to_many), попробуйте это:
post.categories.first.title
Один из этих двоих должен дать вам то, что вы хотите.
Кроме того, я не уверен, что вы пытаетесь связать. Вы ссылаетесь на пост, но текст ссылки является заголовком категории. Итак, если у вас есть три сообщения в категории «Рецепты», все три ссылки будут содержать «Рецепты». Вы пытаетесь сделать ссылку на пост или категорию? В любом случае, текст ссылки должен относиться к URL.