他の同様の投稿をいくつか試しましたが、まだエラーが発生しています。
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 %>
2 番目の列では、posts テーブルの category_id ではなく、Category テーブルのカテゴリ名 ("categoryname") を表示しようとしています。エラーが発生します:
#ActiveRecord::Relation:0x3e1a9b0> の未定義のメソッド `Category'
私も試しました:
<td><%= post.categories.categoryname %></td>
しかし、同じエラーが発生します。
としても:
<td><%= post.category.categoryname %></td>
どんな提案でも大歓迎です。