Pokaż nazwę zamiast ID w tabeli widoku has_many

Próbowałem kilka innych podobnych postów, ale wciąż pojawia się błąd.

W modelu Posty mam pole category_id. Mam następujące modele:

#Posts model
belongs_to :categories  

#Category model
has_many :posts

W kontrolerze indeksu Postów mam:

@categories = @posts.Category.find(:all, :order => 'categoryname')

W widoku mam:

<% @posts.each do |post| %>
<tr>
<td><%= post.category_id %></td>
<td><%= @categories.categoryname %></td>

<td><%= link_to 'View', post %></td>
<td><%= link_to 'Edit', edit_post_path(post) %></td>
</tr>
<% end %>

W drugiej kolumnie próbuję pokazać nazwę kategorii („nazwa kategorii”) z tabeli Kategoria zamiast id_kategorii z tabeli wpisów. Dostaję błąd:

niezdefiniowana metoda `Category 'dla #ActiveRecord :: Relacja: 0x3e1a9b0>

Próbowałem też:

<td><%= post.categories.categoryname %></td>

Ale popełnij ten sam błąd.

Jak również:

<td><%= post.category.categoryname %></td>

Wszelkie sugestie byłyby bardzo mile widziane.

questionAnswers(5)

yourAnswerToTheQuestion