Показывать имя вместо идентификатора в таблице представления has_many

Я пробовал пару других похожих сообщений, но все еще получаю сообщение об ошибке.

В модели сообщений у меня есть поле category_id. У меня есть следующие модели:

#Posts model
belongs_to :categories  

#Category model
has_many :posts

В контроллере индекса сообщений у меня есть:

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

В моем виде:

<% @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 %>

Во 2-м столбце я пытаюсь показать имя категории ("categoryname") из таблицы Category вместо category_id из таблицы posts. Я получаю сообщение об ошибке:

Неопределенный метод `Category 'для #ActiveRecord :: Отношение: 0x3e1a9b0>

Я тоже пробовал:

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

Но получаю ту же ошибку.

Так же как

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

Любые предложения будут ценны

Ответы на вопрос(5)

Ваш ответ на вопрос