我尝试了其他几个类似的帖子,但仍然出现错误。
在 Posts 模型中,我有一个 category_id 字段。我有以下型号:
#Posts model
belongs_to :categories
#Category model
has_many :posts
在 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 %>
在第二列中,我试图显示 Category 表中的类别名称(“categoryname”),而不是帖子表中的 category_id。我收到一个错误:
#ActiveRecord::Relation:0x3e1a9b0> 的未定义方法“类别”
我也试过:
<td><%= post.categories.categoryname %></td>
但得到同样的错误。
也:
<td><%= post.category.categoryname %></td>
任何建议将不胜感激。